Prototyping là gì

  -  

Ssinh hoạt dĩ ta nói điều này bởi vì khi hỏi object 1 property như thế nào kia, ví như bạn dạng thân nó ko có tác dụng dc, nó đang nhờ vào prototype của chính nó, prototype này tuy-mặt-đầy-thẹo cơ mà nếu vẫn chưa có tác dụng nổi, đã lại liên tục hỏi prototype cấp bên trên với cứ núm cho đến thằng prototype đại ca độc nhất vô nhị, quyền lực nhất có tên là Object.prototype nhưng giang hồ có cách gọi khác là tía già.Quý khách hàng vẫn xem: Prototyping là gì

Object.getPrototypeOf(Object.prototype)// nullTrên cấp cho của Object.prototype là ko bao gồm, cho nên nó là soái ca duy nhất.

Bạn đang xem: Prototyping là gì

Array hết sức lưu giữ manh và chỉ nghe lệnh cấp trên của chính nó là Array.prototype, tuy vậy không mong muốn thằng này cũng là quân nhân của Object.prototype thôi.

Function chợ búa cũng thế, hết bản thân bởi đại ca Function.prototype của nó. Vị đại ca này, Tuy bạo phổi dẫu vậy vẫn luôn là bọn em của Object.prototype.

Object.getPrototypeOf() === Array.prototype// trueObject.getPrototypeOf(Function) === Function.prototype// true

*

vì vậy ta nói theo cách khác vào javascript, đại phần nhiều phần đa là lính của object, hay có thể nói rằng vào javascript toàn cục những là object, không tính cặp bà xã ông xã xuyên suốt ngày sinh sống trong cổ chiêu tập, ko mê say ra đường: anh dương-undefined và chị tiểu-long-null.

Lấy ví dụ, nếu như ban sơ vk chỉ biết mổi đun nấu nạp năng lượng.

Xem thêm: Thủ Khoa Tiếng Anh Là Gì ? Thủ Khoa Tiếng Anh Là Gì, Nghĩa Của Từ Thủ Khoa

function Wife() this.cook = function() console.log("nấu bếp mì chua-cay-hao-hao"); var ngoctrinh = new Wife();ngoctrinch.cook(); // in ra nấu ăn mì ...mà lại thiệt ra thì ăn mì mãi cũng ngán, cho nên vì thế họ đã thêm kỹ năng cho vợ

// thêm tài năng ấy vào function bà xã.Wife.prototype.ay = function() // tính năng này nặng nề, do các bạn từ bỏ code !do đó, bọn họ biết ngoctrinc là môn sinh của Wife, hay nói theo một cách khác là instance của constructor Wife. Do kia ngoctrinh tức thì mau lẹ biết "ấy". Chúng ta rất có thể thẳng call ngoctrinch.ay() nhằm kiểm soát.

Nguy hiểm hơn thế nữa, chúc ta có thể thẳng dạy dỗ mang đến Object.prototype giỏi cầm võ thuật makeSandwich:

Object.prototype.makeSandwich = function() console.log("subởi vì make me a sandwich");Và như vậy ngoctrinh sẽ biết có tác dụng bánh

ngoctrinh.makeSandwich();// sudo make me a sandwichLà một coder hay tò với dò, chúng ta buộc phải kiểm soát lại coi ngoctrinc biết làm cho mọi gì.

for(var skill in ngoctrinh) console.log(skill); // cook (trường đoản cú biết)// ay ( bà mẹ bà xã dạy)// makeSandwich ( bà bầu của bà mẹ vk dạy dỗ )Tuy nhiên, thiệt bất thần ngoctrinch còn biết toString(), toLocaleString(), hasOwnProperty() v..v.. nữa, mấy máy này là xoàn Tặng Kèm Tặng kèm trường đoản cú hai bên đơn vị nội nước ngoài của ngoctrinc, nhưng bọn họ ko buộc phải.

Xem thêm: Quy Hoạch Đường Trần Hữu Dực Nối Qua Phạm Hùng, Toàn Cảnh Đường Nối Lê Đức Thọ

Chưa không còn, ai lại muốn 1 bà xã nhưng mà tuỳ thời sẽ ảnh hưởng nhà vk dạy dỗ cung cấp phần đông vật dụng khác, bắt buộc kiểm soát điều hành dc. Một ngày rất đẹp ttách nào kia, lỡ như:

var ngoctrinh = Object.create(null);Object.prototype.karate = function() console.log("dùng Lúc ck nhậu khuya");ngoctrinh.karate(); // TypeError: ngoctrinh.karate is not a function// yay so much win !Vậy là bọn họ tha hồ nước đi nhậu về khuya.