js는 프로토타입 상속을 기반으로 하는 언어입니다. 작성 초기에는 일급 시민으로서의 기능과 C 언어의 구문, 자체 언어의 프로토타입 상속을 사용하는 Scheme을 언급했기 때문에 원래는 이 세 가지의 장점을 결합한 것입니다. LiveScript인데, 당시 Java가 인기가 많았기 때문에 회사에서 이름을 JavaScript로 변경했지만 실제로는 Java와는 아무런 관련이 없습니다. 프로토타입 상속의 장점은 다중 상속이 가능하고 클래스를 시뮬레이션할 수 있다는 점이지만, 클래스 언어는 결코 프로토타입을 시뮬레이션할 수 없습니다. 이는 JavaScript의 유연성으로 기능적으로 또는 객체 지향적으로 프로그래밍할 수 있습니다.
JavaScript의 클래스와 객체는 프로토타입 체인의 메서드를 참조하여 상속하는 프로토타입 상속을 사용하기 때문에 본질적으로 논란의 여지가 있습니다. 호출한 객체의 메서드는 최종적으로 호출되며 기본적으로 프로토타입 상속을 사용하여 구현됩니다. 따라서 우리는 프로토타입 상속이 어떻게 구현되는지 더 깊이 이해할 필요가 있습니다. Object.prototype上面的方法。这些方法即使不使用new来进行定义,使用对象字面量的方式进行定义,也是可以进行调用的。 也就是如果你修改了Object.prototype上的方法,那么所有的对象调用的该方法都会改变。JavaScript里面所有的构造函数其实都是用原型继承的方法fake出来的。即使ES6里面新添加的class
js는 프로토타입 상속을 기반으로 하는 언어입니다. 작성 초기에는 일급 시민으로서의 기능과 C 언어의 구문, 자체 언어의 프로토타입 상속을 사용하는 Scheme을 언급했기 때문에 원래는 이 세 가지의 장점을 결합한 것입니다. LiveScript인데, 당시 Java가 인기가 많았기 때문에 회사에서 이름을 JavaScript로 변경했지만 실제로는 Java와는 아무런 관련이 없습니다.
프로토타입 상속의 장점은 다중 상속이 가능하고 클래스를 시뮬레이션할 수 있다는 점이지만, 클래스 언어는 결코 프로토타입을 시뮬레이션할 수 없습니다. 이는 JavaScript의 유연성으로 기능적으로 또는 객체 지향적으로 프로그래밍할 수 있습니다.
http://www.cnblogs.com/wangfu...
JavaScript의 클래스와 객체는 프로토타입 체인의 메서드를 참조하여 상속하는 프로토타입 상속을 사용하기 때문에 본질적으로 논란의 여지가 있습니다. 호출한 객체의 메서드는 최종적으로 호출되며 기본적으로 프로토타입 상속을 사용하여 구현됩니다. 따라서 우리는 프로토타입 상속이 어떻게 구현되는지 더 깊이 이해할 필요가 있습니다.
Object.prototype
上面的方法。这些方法即使不使用new
来进行定义,使用对象字面量的方式进行定义,也是可以进行调用的。也就是如果你修改了
Object.prototype
上的方法,那么所有的对象调用的该方法都会改变。JavaScript里面所有的构造函数其实都是用原型继承的方法fake出来的。即使ES6里面新添加的class