본문 바로가기

array2

[]===[], {}==={} 는 거짓(false)이다 let arr = [1, 2, 3]; let arr2 = [1, 2, 3]; console.log(arr === arr2); //false 완벽하게 일치하는 두 배열을 비교하면 Boolean 값은 false이다. 이는 자바스크립트 자료형의 특징 때문이다. 총 8가지의 데이터 타입은 원시 자료형(primitive type)과 참조 자료형(reference type) 2가지 특징으로 나뉜다. JavaScript의 원시 자료형과 참조 자료형 원시 자료형은 선언될 때 변수에 값이 담기지만 참조 자료형은 주소(일명 reference)가 담긴다. string, number, boolean, undefined, null 등 이들은 "홍길동", 1, true와 같이 하나의 데이터만을 담는다. 반면 참조 자료형은 원시 .. 2022. 12. 31.
배열의 typeof는 Object이다 * 2022년 7월 21일 velog에 작성했던 게시글을 옮겨온 글입니다. 첫 언어로 자바를 선택해서 학습을 하다가 자바스크립트를 배우고 있는데 각각의 배열이 서로 다르다는 것을 알게 됐다(충격). 자바의 배열에는 같은 자료형이 요소로 들어가야 하고, 자료형 또한 배열이라고 출력된다. 그러나 자바스크립트의 배열은 배열이 아니다. 자바스크립트로 배열을 선언하고 typeof로 자료형을 찾으면 Object라고 보여준다. 즉, 배열이 아니고 객체가 자료형이라는 말이다. 내가 선언한 것은 무조건 배열인데 객체라고 나오는 이유를 이해하지 못해서 찾아보니 언어의 특성이었다. 자바스크립트에서의 배열에는 어떤 자료형도 요소가 될 수 있고 동시에 다른 자료형을 가진 요소들이 함께 들어갈 수도 있다. 또 다른 자료형 중 하.. 2022. 12. 31.