• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

삼항 연산자에서 조건 비교할때 === 인가요? ==인가요?

23.02.05 17:20 작성 23.02.05 17:21 수정 조회수 546

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에 동등 비교 연산자를 ==로 썼는지 ===로 썼는지에 따라 다르게 판단됩니다.

go122345님의 프로필

go122345

질문자

2023.02.06

아하 그냥 A 식이 Truthy 인지 Falsy 인지만 확인하나보군요. 실제로 배열의 길이를 String으로 리턴해주는 함수를 만들고 []를 넣어주니 "0" 인 Truthy 로 인식하는걸 직접 확인해봤읍니다 ^^ 퀄리티 좋은 강의 감사합니다.