참 같은 값, 거짓 같은 값
// 자바스크립트의 Truthy & Falsy
let a = ""; // false
let a = "string"; // true
if (a) {
console.log("TRUE");
} else {
console.log("FALSE");
}
자바스크립트 조건식에는 boolean 값을 넣지 않아도 참이나 거짓으로 인식되는 속성이 있다.
1. Truthy
true가 아니어도 조건문에서 참으로 평가하는 값.
빈 배열 [], 빈 객체(리터럴) {}, 숫자형 값, 문자열 값
2. Falsy
false가 아니어도 조건문에서 거짓으로 평가하는 값.
null, undefined, 0, -0, NaN, ""
3. Truthy와 Falsy 활용
// 객체를 매개변수로 받아서 받은 객체에서 특정 프로퍼티 반환하는 함수
const getName = (person) => {
return person.name;
};
let person = {name: "송진성"};
const name = getName(person);
console.log(name); // 송진성
// 만약 person 값이 undefined, null 이라면 TypeError 오류 발생. 예외처리를 통한 오류 방지.
const getName = (person) => {
if (person === undefined || person === null) {
return "객체가 아닙니다";
}
return person.name;
};
// let person;
let person = null;
const name = getName(person);
console.log(name); // 객체가 아닙니다
// Falsy를 활용한 예외처리
const getName = (person) => {
if (!person) { // false NOT => True
return "객체가 아닙니다";
}
return person.name;
};
// let person;
let person = null;
const name = getName(person);
console.log(name); // 객체가 아닙니다
참고강의 : https://www.inflearn.com/course/%ED%95%9C%EC%9E%85-%EB%A6%AC%EC%95%A1%ED%8A%B8#
한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지 - 인프런 | 강의
개념부터 독특한 프로젝트까지 함께 다뤄보며 자바스크립트와 리액트를 이 강의로 한 번에 끝내요. 학습은 짧게, 응용은 길게 17시간 분량의 All-in-one 강의!, 리액트, 한 강의로 끝장낼 수 있어요.
www.inflearn.com
댓글