작성
·
677
·
수정됨
0
강의에서는
const ar = []
ar.length === 0 ?console.log("true"):console.log("FALSE");
이런식으로 코드를 보여주셨는데
제가 궁금한건
const ar = [];
!ar.length ? console.log("Something exist"):console.log("EMPTY");
이렇게 코드를 작성하면 물론 Something exist가 출력이 되겠지만
제가 궁금한건 저기서
ar.length === 0 // 또는 FALSY?
인지
ar.length ==0 // 또는 FALSY ?
인지 궁금함다.
질문을 한줄 요약하면
삼항 연산자에서 조건 비교를 할때 내부적으로 == 가 사용되는지 아니면 === 로 사용되는지 궁금함다.
답변 1
0
안녕하세요
자바스크립트의 삼항연산자는 동등 비교 연산을 수행 하지는 않습니다.
그저 a ? b : c 형태에서 a가 참인지 거짓인지만 판단합니다.
따라서 조건식 a에 동등 비교 연산자를 ==로 썼는지 ===로 썼는지에 따라 다르게 판단됩니다.
아하 그냥 A 식이 Truthy 인지 Falsy 인지만 확인하나보군요. 실제로 배열의 길이를 String으로 리턴해주는 함수를 만들고 []를 넣어주니 "0" 인 Truthy 로 인식하는걸 직접 확인해봤읍니다 ^^ 퀄리티 좋은 강의 감사합니다.