객체 리터럴 메서드를 사용하여 js에서 객체를 생성합니다. var obj={}; Object 생성자가 호출되지 않았는데 왜 여전히 인스턴스인가요? 그러한 객체는 빈 객체여야 하지 않나요? 프로토타입이 Object.prototype인 이유는 무엇인가요?
我想大声告诉你2017-05-19 10:26:47
var obj = {};는 var obj = Object.create({});
과 동일한 약식 메서드입니다.Object.create(null); 빈 개체일 수 있습니다.
淡淡烟草味2017-05-19 10:26:47
이에 대해서는 Brendan Eich
에게 물어보세요. Brendan Eich
。
我觉得你先说说,你定义的所谓空对象
是啥。
按照你的题目描述,我猜你所谓的空对象
应该是指最原始的那个对象原型吧?这个东西是有的,它是null
빈 객체
가 무엇인지 먼저 설명해야 할 것 같습니다. 🎜🎜
🎜🎜제목 설명에 따르면 빈 개체
라고 부르는 것이 원래 개체 프로토타입을 참조해야 하는 것 같은데요, 그렇죠? 이것은 존재하고 null
이며 모든 객체의 프로토타입 체인의 끝입니다. 🎜🎜
🎜大家讲道理2017-05-19 10:26:47
개념적으로 말하면, 객체는 모든 객체의 루트 객체로 정의되며 "객체 지향" 개념의 가장 기본 단위(참조)입니다. 이를 제거하면 전체 개념이 붕괴됩니다. 분자/원자?
그렇습니다. null 예외입니다. 이 것 자체는 특수한 경우입니다. js는 이를 처음에 객체로 취급하고, 이후 Object.create(null)에서 소위 "빈 객체" 현상이 나타납니다. 처음에 정의된 값이 특별한 값인 경우 Object.create(null)와 같은 것은 없습니다. 따라서 제가 이해한 바에 따르면 이 "빈 객체"는 자체 일관성이 있고 정의에 연결되어 있으므로 "객체"로 분류되어서는 안 됩니다. - 지향'이라는 컨셉으로.