&& 여러개 사용 시 발생하는 이상한 현상에 대한 고찰
2022. 3. 16. 20:28ㆍ카테고리 없음
원래 &&는 조건식 2개가 참이면 전부 참으로 판정하는 논리연산자.
그런데 여러개를 사용하면 이상한 현상 발생.
&& 기호로 비교할 때 true와 false를 넣는게 아니라 자료형을 넣으면
처음 등장하는 falsy 값을 찾아주고 그게 아니면 마지막 값을 남겨줌.
null, undefined, NaN 등등.
1 && null && 3 // null이 남음
undefined && '안녕' && 100 // undefined 남음
이걸 약간 exploit 하면 if문을 간략하게 사용 가능.
if (변수 && typeof strs === "string") {}
즉, 변수가 falsy(undefined or null)라면 falsy가 남아서 if문이 실행되지 않고,
변수가 falsy값이 아니면 마지막 값을 넘겨주므로 마지막으로 적어준 조건이 실행됨.
변수가 falsy값인 경우를 쉽게 거를 수 있는 문법.