티스토리 뷰

반응형

일반적으로 falsy한 값의 체크는 다음과 같이 확인한다.

function isFalsy(value) {
	return !value ? true : false;
}

console.log(isFalsy(undefined)); // true
console.log(isFalsy(null)); // true
console.log(isFalsy(0)); // true
console.log(isFalsy('')); // true
console.log(isFalsy([])); // false
console.log(isFalsy({})); // false

/*
요런 특징을 이용해서 if(value) 또는 if(!value)로 활용하곤 한다.
*/

그러나 0과 빈 문자열은 검증하지 않고, 오로지 null 또는 undefined인지만 확인하고자 하는 경우에는 동등(==) 연산자를 활용한다.

function isNullOrUndefined(value) {
    return value == null;
}

console.log(isNullOrUndefined(undefined)); // true
console.log(isNullOrUndefined(null)); // true
console.log(isNullOrUndefined(0)); // false
console.log(isNullOrUndefined('')); // false
console.log(isNullOrUndefined([])); // false
console.log(isNullOrUndefined({})); // false

JS는 정말 괴상한 언어인 것 같다.


참고

 

동등 연산자(==) - JavaScript | MDN

동등 연산자(==)는 두 개의 피연산자가 동일한지 확인하며, Boolean값을 반환합니다. 일치 연산자(===)와는 다르게 다른 타입의 피연산자들끼리의 비교를 시도합니다.

developer.mozilla.org

그렇다고 한다.

댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함