JavaScript에서는 참, 거짓이 아닌 값도 참, 거짓으로 평가 할 수 있다.
이러한 특징을 사용하면 조건문을 간결하게 만들 수 있다.
Truthy
- 참 같은 값
- 조건문에서 true로 평가되는 값
- falsy한 값들 제외한 모든 값
let t1 = "hello";
let t2 = 123;
let t3 = [];
let t4 = {};
let t5 = () => {};
if (t2) {
console.log("true");
}
Falsy
- 거짓 같은 값
- 조건문에서 false로 평가되는 값
- 7가지 undefined, null, 0, -0, NaN, "", 0n(Big integer)
let f1 = undefined;
let f2 = null;
let f3 = 0;
let f4 = -0;
let f5 = NaN;
let f6 = "";
let f7 = 0n;
if (!f3) {
console.log("falsy");
}
활용
객체에 falsy한 값인 undifined, null을 하나하나 조건에 달지 않아도 !연산자를 통해 간편하게 체크 할 수 있음
function printName(person) {
// if(person === undifined || person === null)
if (!person) {
console.log("person의 값이 없음")
return;
}
console.log(person.name);
}
let person = null;
printName(person);
논리연산자의 단락평가와 함께 사용하면 더 간편하게 코드를 작성 할 수 있음
단락평가란?
- AND 연산자 : 왼쪽 피연산자가 false일 경우 오른쪽 피연산자는 실행하지 않음
- OR 연산자 : 왼쪽 피연산자가 true일 경우 오른쪽 피연산자는 실행하지 않음
function printName(person) {
const name = person && person.name;
console.log(name || "person의 값이 없음");
}
printName();
printName({name:"luna"});
'프로그래밍언어 > JavaScript' 카테고리의 다른 글
[JavaScript] Spread 연산자, Rest 매개변수 (1) | 2025.06.18 |
---|---|
[JavaScript] 구조 분해 할당 (0) | 2025.06.18 |
[JavaScript] AJAX(Asynchronous Javascript And XML) (0) | 2025.03.11 |
[JavaScript] JSON(JavaScript Object Notation) (0) | 2025.03.11 |
[JavaScript] Window객체 (0) | 2022.03.20 |