JavaScript에서 새 연산자가 객체를 생성하고 초기화하는 방법
new 연산자는 새 객체를 생성하는 데 사용되는 JavaScript의 강력한 키워드입니다. 객체 지향 프로그래밍에서 중요한 역할을 하지만 특히 프로토타입 체인과 관련하여 완전히 이해하기 어려울 수 있습니다.
새 연산자 이해
사용 시 함수가 포함된 새 연산자를 사용하면 다음 단계가 내부적으로 발생합니다.
구현 예
new 연산자의 기능을 보여주기 위해, 여기에 동등한 구현이 있습니다:
<code class="javascript">function NEW(f) { let obj, ret, proto; // Check if `f.prototype` is an object proto = f.prototype ? f.prototype : Object.prototype; // Create an object inheriting from `proto` obj = Object.create(proto); // Call the function with `obj` as `this` ret = f.apply(obj, Array.prototype.slice.call(arguments, 1)); // Return the object from the function or the newly created `obj` return Object(ret) === ret ? ret : obj; }</code>
사용 예
이 예를 고려하십시오:
<code class="javascript">function Foo(arg) { this.prop = arg; } Foo.prototype.inherited = 'baz'; let obj = NEW(Foo, 'bar'); console.log(obj.prop); // Output: "bar" console.log(obj.inherited); // Output: "baz" console.log(obj instanceof Foo); // Output: true</code>
이것은 new 연산자가 객체를 생성하는 방법을 보여줍니다. 함수의 프로토타입에서 상속되며 해당 속성과 메서드에 대한 액세스를 허용합니다.
위 내용은 'new' 연산자는 JavaScript에서 객체를 생성하고 초기화하기 위해 뒤에서 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!