출처 : https://www.zerocho.com/category/JavaScript/post/572f55d773b6f3c5fdbf4426
(JavaScript) 연산자(operator)
이번 시간에는 연산자에 대해서 알아보겠습니다. 전부를 다루지는 않고 자주 쓰이는 것만 다루겠습니다. 연산자 연산자란 프로그래밍에서 쓰이는 기호들입니다. 연산자에는 산술, 문자열, 증
www.zerocho.com
JS에서 거짓인 값 :
'', 0, false, NaN, undefined, null, document.all
===
0 == ''
0 == false
0 == []
위의 세 개 모두 true입니다. 황당하죠? 숫자 0이 false도 되고 빈 문자열도 되고, 빈 배열도 됩니다. 자바스크립트에서 ==으로 비교연산을 할 때 자동으로 자료형을 바꿔버리고 값만 비교해서 이런 일이 일어납니다. 이런 경우를 방지하고자 자바스크립트에는 === 연산이 있습니다. 값 뿐만 아니라 자료형까지 같아야 true가 됩니다.
0 === '' // false
0 === false // false
0 === [] // false
이제 셋 다 false가 뜨네요. 자바스크립트에서 같은 값인지 비교할 때는 꼭 ===를 써야함을 잊지 마세요. ==를 쓰는 것은 추천하지 않습니다. 아, 자료형까지 다른지 비교할 때는 != 대신에 !==를 씁니다. ===와 !==를 기억하세요.
|| (참이 나올때까지 비교, 참인 변수에 대입)
var a;
if (b) {
a = b;
} else if (c) {
a = c;
} else {
a = d;
}
이 긴 구문을 다음과 같이 줄일 수 있습니다. 바로 false 성질을 띄는 것(undefined, null, 0, '', false, NaN, document.all)들과 ||의 성질을 이용한 건데요. b가 아니면 c, c도 아니면 d까지 확인합니다. 결국 b, c가 모두 아니면 a는 d가 되는거죠.
var a = b || c || d;
다음은 && 예제입니다. ||과는 반대로 b도 있고 c도 있으면 a = d가 됩니다. b는 있는데 c가 없으면 a = c가 되고요. b가 없으면 a = b가 됩니다.
var a = b;
if (b) {
a = c;
if (c) {
a = d;
}
}
var a = b && c && d;
||는 값이 false 성질을 띄지 않을 때까지 다음 것을 찾고, &&는 값이 true 성질을 띄지 않을 때까지 다음 것을 찾습니다. ||는 주로 기본값(default)을 정할 때 많이 쓰입니다. 예를 들면 다음과 같이 사용자가 함수의 인자로 아무 것도 안 넣어주었을 때 기본으로 []가 설정됩니다.
function setting(option) {
var result = option || [];
return console.log(result);
}
setting([1, 2, 3]); // [1, 2, 3]
setting(); // []
다음과 같이 해도 default를 표현할 수 있습니다.
var result = option ? option : [];
'개발' 카테고리의 다른 글
코틀린 - 스코프 함수 let (0) | 2024.12.06 |
---|---|
Kotlin - 코루틴 (0) | 2024.12.06 |
Escape (0) | 2024.12.06 |
직렬화 (0) | 2024.12.06 |
Java - Synchronized (0) | 2024.12.06 |