1️⃣ 비교 연산자를 사용할 때 '==='를 쓰는것과 '=='를 쓰는 것에 차이에 대해서 설명하시오.

자바스크립트는 동적 타이핑 언어로써 데이터 타입의 유연성을 제공하기 위해서 느슨한 비교와 엄격한 비교를 따로 나누어 지원한다. 느슨한 비교(==)는 두 피연산자의 "값"만을 비교하지만 엄격한 비교(===)는 "값"과 "데이터타입" 두가지를 동시에 비교한다.

2️⃣ type 연산자 중 객체, 배열, 함수모두 객체타입인데 오직 함수만 "function"이라고 출력되는 이유에 대해서 설명하시오.

자바스크립트에서 함수는 객체이면서 동시에 객체의 속성을 상속받는 객체의 서브 타입이다. 고로 function 만의 고유한 기능들이 있으며 obj가 접근할 수 없는 부분이 있다. 고로 객체 안에서도 차별화되는 부분이 있다.

3️⃣ 표현식 "Cat" && "Dog" 에서 "Dog"가 출력되는 이유를 설명하시오.

단축 평가 되기 때문인데 단축 평가란 논리 연산의 결과를 결정하는 피연산자를(위에서는 Dog, 논리곱&& 이기 때문) 형변환하지 않고 그대로 출력해버리는데 이처럼 표현식을 평가하는 도중에 평가결과가 확정된 경우 나머지 평가 과정을 "생략"하는 것이 "단축 평가"이다.

profile
Whether you're doing well or not, just keep going👨🏻‍💻🔥

0개의 댓글