인프런 커뮤니티 질문&답변
new Object()와 Object()에 대한 질문
작성
·
159
0
선생님 안녕하세요.
new Object({name:'value'})와 Object({name:'value'})도 같은 인스터스를 생성하는 게 맞을까요?
만약 그렇다면, new Object의 파라미터가 {key:value} 값으로 주어졌을 경우에는 new Object(), Object(), Object 리터럴 세 가지가 모두 동일한 인스턴스를 생성한다고 생각하면 될까요..?
그리고 좋은 강의 정말 감사드립니다... 선생님께서는 자바스크립트의 도사라는 생각이 드네요...
퀴즈
강의에서 설명하는 JavaScript 오브젝트의 주요 분류 3가지에 해당하지 않는 것은 무엇일까요?
빌트인 오브젝트
네이티브 오브젝트
사용자 정의 오브젝트
호스트 오브젝트
답변 2
1
var aa = 100, bb = 100;
(aa === bb) 형태의 비교는 값을 비교하므로 true가 반환됩니다.
반면, 작성한 3가지 형태는 인스턴스를 생성하며, 메모리에 설정됩니다. obj1, obj2, obj3은 설정된 메모리 주소를 참조하게 됩니다. (obj1 === obj2)를 비교하면, 인스턴스를 비교하는 것이 아니라, obj1이 참조하는 메모리 주소와 obj2가 참조하는 메모리 주소를 비교하며 주소가 다르므로 false가 반환됩니다. 강좌에서 이 내용을 다룹니다.
0
var obj1 = new Object({name:'value'});
var obj2 = Object({name:'value'});
var obj3 = {name:'value'};
obj1, obj2, obj3가 동일한 구성으로 되어 있는 것이 확인됩니다.
그런데 obj1 === obj2 이나 obj2 === obj3 이런식으로 비교하면 true가 아닌 false가 반환되더라구요ㅠㅠ





아 이제 이해가 됐습니다. 정말 감사드립니다....!!