개발 지식

JavaScript의 배열 선언 방식과 그에따른 '==', '===' 연산자 사용시 다른 점 정리

dm.kim 2020. 11. 22. 15:42

JavaScript 배열 선언하는 방식은 2가지가 있음

Array 객체를 이용한 선언 : let arr = new Array();

객체 리터럴을 이용한 선언 : let arr = [];

new Array()보다 []의 선호도가 높다.

new Array의 constructor에 하나의 숫자만 넣으면 배열의 크기로 인식하지만, 두 개 이상의 숫자를 전달하면 전달받은 값으로 배열을 초기화한다. 따라서 하나의 숫자만 넣은 배열은 만들 수가 없다.

 

'==' 연산자 : 서로 다른 유형의 두 변수 '값'만 비교한다.

0 == '' //true
0 == '0' //true
1 == true //true
false == '0' //true
null == undefined //true
false == null //false
false == undefined //false

'===' 연산자 : 값과 자료형까지 엄격하게 비교한다.

0 === '' //false
0 === false //false
1 === true //false
NaN === NaN //false, NaN은 NaN을 포함한 어느 값과 일치하지 않는다.
null === undefined //false

 

따라서 특별한 경우가 아니면 예상치 못한 에러를 사전 방지하기 위해 '===' 연산자를 사용하는 것이 좋다.

 

참조 : https://withhsunny.tistory.com/71

 

[javascript] new Array() vs []

자바스크립트에서 배열을 선언하는 방식은 2가지가 있습니다.  Array 객체를 이용한 선언 객체 리터럴을 이용한 선언 let arr = new Array(); let arr = []; 두 방식의 차이점에 대해 이야기해보도록 하겠

withhsunny.tistory.com

https://velog.io/@filoscoder/-%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4-oak1091tes

 

자바스크립트: '==' 와 '===' 는 다르다!

무엇이 다른가? 저는 자바 언어를 먼저 배운 입장에서 자바스크립트에 깊게 노출되지 않았기 때문에 충격을 받았다. 비록 자바스크립트의 어떤 기능, 사건 처리, 그리고 어떤 jQuery 속임수에 상

velog.io

http://guswnsxodlf.github.io/javascript-equal-operator

 

Javascript '=='와 '===' 연산자 차이

’==’와 ‘===’의 차이

guswnsxodlf.github.io