1. __proto__는 객체의 프로토타입에 대한 참조를 나타내는 비표준 속성이었습니다. 모든 객체가 이 속성을 가지고 있으며, 프로토타입 체인을 통해 상속된 메서드와 속성에 접근할 수 있습니다.
2. 예전 브라우저에서는 __proto__를 통해 객체의 프로토타입을 확인하고 수정할 수 있었습니다.
1. [[Prototype]]은 객체의 내부 슬롯을 나타내는 표준 표기입니다. 이는 ECMAScript 사양에서 정의된 객체의 프로토타입을 나타내는 내부 속성입니다.
2. 최신 브라우저에서는 콘솔 출력에서 [[Prototype]] 표기를 사용하여 객체의 프로토타입을 명확히 보여줍니다. 이는 객체의 내부 메커니즘을 더 잘 반영하는 표기법입니다.
3. [[Prototype]]과 같은 이중 대괄호 표기는 JavaScript 엔진 내부의 동작을 설명하기 위한 것입니다. 일반적으로 개발자가 직접 접근하거나 수정할 수 없으며, 표준 JavaScript 코드에서는 __proto__나 Object.getPrototypeOf 메서드를 사용하여 접근할 수 있습니다.
4. [[Prototype]]와 같은 표기는 일반 속성과 구분하기 위함입니다. 이는 객체의 속성이나 메서드가 아닌, 객체의 내부 메커니즘을 나타냅니다.
JavaScript 콘솔에서 [[Prototype]]을 표시할 때, 이를 Array(0)으로 나타내어 배열의 프로토타입임을 명시합니다. 이는 개발자에게 이 객체가 배열의 메서드와 속성을 상속받고 있다는 것을 알리기 위한 표기입니다.
정확한 시점을 특정하기는 어렵지만, __proto__에서 [[Prototype]]으로의 표기 변화는 ECMAScript 2015 이후의 표준화 작업의 일환으로 도입되었습니다. __proto__는 비표준 속성이었지만, [[Prototype]]은 ECMAScript 사양에 정의된 표준 내부 슬롯 표기입니다.
ES6 이후의 주요 변화 - JavaScript (1) | 2024.05.18 |
---|---|
웹 페이지 임의 조작 (2) | 2024.05.18 |
vite.js v 5.2.0 폴더 구조 (0) | 2024.05.15 |
vite.js 시작 - Templates (0) | 2024.05.15 |
addEventListener(), on(), onClick (0) | 2024.05.15 |