본문 바로가기
반응형

개발서적/코어 자바스크립트2

undefined 와 null 의 차이 기본적으로 둘의 차이는 undefined는 자바스크립트 엔진이 명시적으로 부여하는 경우가 있고, 사용자가 직접 할당하는 경우도 있다. null은 사용자가 직접 할당해야만 사용된다. 자바스크립트 엔진은 사용자가 응당 어떤 값을 지정할 것이라고 예상되는 상황임에도 실제로는 그렇게 하지 않았을 때 undefined를 반환한다. 아래는 그 세가지 경우. 값을 대입하지 않은 변수, 즉 데이터 영역의 메모리 주소를 지정하지 않은 식별자에 접근할 때 객체 내부의 존재하지 않는 프로퍼티에 접근하려고 할 때 return 문이 없거나 호출되지 않는 함수의 실행 결과 변수는 변경가능한 데이터가 담길 수 있는 공간 / 식별자는 그 변수의 이름 let a = []; a.length = 3; a //[ empty, empty, .. 2021. 3. 17.
간단하게 정리한 얕은 복사와 깊은복사 자바스크립트 데이터 타입에는 크게 두가지가 있는데, Primitive Type(원시 타입)과 Reference Type (참조 타입)이 그것이다. let a = 123; let b = a; console.log(a === b); //true a = 0; console.log(a === b); //false 원시타입(숫자, 문자열, 불린, null, undefined) 데이터는 원본 a의 값(value)을 사본 b에 = 을 이용해서 대입했을 때, 원본 a 의 값을 변경해도 b의 값이 변경되지 않는다. 이는 원시타입 데이터는 변수에 할당될 때 메모리 상에 고정된 크기로 "새로" 저장되기 때문에, 변수가 선언(let이나 var로 생성했을 때), 초기화(최초로 변수에 값을 지정함), 할당(변수에 = 을 사용해서.. 2021. 3. 10.
반응형