javascript - js에 실제 빈 객체가 없는 이유는 무엇입니까?
世界只因有你
世界只因有你 2017-05-19 10:24:47
0
4
563

객체 리터럴 메서드를 사용하여 js에서 객체를 생성합니다. var obj={}; Object 생성자가 호출되지 않았는데 왜 여전히 인스턴스인가요? 그러한 객체는 빈 객체여야 하지 않나요? 프로토타입이 Object.prototype인 이유는 무엇인가요?

世界只因有你
世界只因有你

모든 응답(4)
我想大声告诉你

var obj = {};는 var obj = Object.create({});

과 동일한 약식 메서드입니다.

Object.create(null); 빈 개체일 수 있습니다.

淡淡烟草味
  1. 이에 대해서는 Brendan Eich에게 물어보세요. Brendan Eich

  2. 我觉得你先说说,你定义的所谓空对象是啥。

  3. 按照你的题目描述,我猜你所谓的空对象应该是指最原始的那个对象原型吧?这个东西是有的,它是null

당신이 정의한 소위 빈 객체가 무엇인지 먼저 설명해야 할 것 같습니다. 🎜🎜 🎜🎜제목 설명에 따르면 빈 개체라고 부르는 것이 원래 개체 프로토타입을 참조해야 하는 것 같은데요, 그렇죠? 이것은 존재하고 null이며 모든 객체의 프로토타입 체인의 끝입니다. 🎜🎜 🎜
我想大声告诉你

js에 빈 개체가 있습니다

으아아아

진실을 검증하는 유일한 기준은 실천입니다

大家讲道理

개념적으로 말하면, 객체는 모든 객체의 루트 객체로 정의되며 "객체 지향" 개념의 가장 기본 단위(참조)입니다. 이를 제거하면 전체 개념이 붕괴됩니다. 분자/원자?

new로 생성하거나 리터럴을 사용하더라도 컴파일러는 자동으로 객체의 조상을 식별합니다

그렇습니다. null 예외입니다. 이 것 자체는 특수한 경우입니다. js는 이를 처음에 객체로 취급하고, 이후 Object.create(null)에서 소위 "빈 객체" 현상이 나타납니다. 처음에 정의된 값이 특별한 값인 경우 Object.create(null)와 같은 것은 없습니다. 따라서 제가 이해한 바에 따르면 이 "빈 객체"는 자체 일관성이 있고 정의에 연결되어 있으므로 "객체"로 분류되어서는 안 됩니다. - 지향'이라는 컨셉으로.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿