Prototype là gì

Sở dĩ ta nói điều đó nguyên nhân là Lúc hỏi object 1 property nào đó, giả dụ phiên bản thân nó ko có tác dụng dc, nó vẫn dựa vào prototype của nó, prototype này tuy-mặt-đầy-thẹo tuy vậy ví như vẫn chưa làm cho nổi, đang lại thường xuyên hỏi prototype cấp bên trên cùng cứ đọng cố cho tới thằng prototype đại ca độc nhất vô nhị, quyền lực duy nhất có tên là Object.prototype cơ mà giang hồ nước có cách gọi khác là cha già.

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

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

Array rất lưu giữ manh còn chỉ nghe lệnh cấp trên của nó là Array.prototype, nhưng đáng tiếc thằng này cũng chính là lính của Object.prototype thôi.

Function chợ búa cũng như vậy, hết bản thân vày đại ca Function.prototype của chính nó. Vị đại ca này, mặc dù to gan lớn mật cơ mà vẫn chính là đàn em của Object.prototype.

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

*

do vậy ta nói cách khác trong javascript, đại phần nhiều phần đông là quân nhân của object, tuyệt nói cách khác trong javascript toàn bộ phần nhiều là object, ngoại trừ cặp bà xã chồng cả ngày sống vào cổ chiêu tập, ko thích ra đường: anh dương-undefined và chị tiểu-long-null.

Hiểu đặc tính của prototype, ta hoàn toàn có thể tận dụng nó để thêm chức năng cho môn sinh, loại như nếu như sư prúc bao gồm làm thịt ăn thì môn đệ cũng cần được chia chén canh.

Xem thêm: Chỉ Số Scc Là Gì - Scc, Một Dấu Ấn Ung Thư Giá Trị

Lấy ví dụ, nếu như ban sơ vk chỉ biết mổi nấu nướng ăn.

function Wife() this.cook = function() console.log("nấu ăn mì chua-cay-hao-hao"); var ngoctrinh = new Wife();ngoctrinc.cook(); // in ra nấu bếp mì ...mà lại thật ra thì ăn uống mì mãi cũng chán, vì vậy chúng ta đang thêm khả năng mang lại vợ

// thêm chức năng ấy vào function vợ.Wife.prototype.ay = function() // công dụng này cạnh tranh, bởi các bạn trường đoản cú code !Như vậy, chúng ta biết ngoctrinch là môn đệ của Wife, giỏi có thể nói rằng là instance của constructor Wife. Do kia ngoctrinch ngay lập tức lập tức biết "ấy". Chúng ta có thể thẳng Hotline ngoctrinc.ay() để soát sổ.

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

Object.prototype.makeSandwich = function() console.log("suvì chưng make me a sandwich");Và như vậy ngoctrinch đã biết làm bánh

ngoctrinc.makeSandwich();// suvì chưng make me a sandwichLà một coder xuất xắc tò cùng mò, bọn họ đề nghị khám nghiệm lại xem ngoctrinch biết làm đa số gì.

for(var skill in ngoctrinh) console.log(skill); // cook (tự biết)// ay ( người mẹ vk dạy)// makeSandwich ( mẹ của người mẹ vk dạy dỗ )Tuy nhiên, thật bất ngờ ngoctrinh còn biết toString(), toLocaleString(), hasOwnProperty() v..v.. nữa, mấy thứ này là kim cương Tặng Kèm bộ quà tặng kèm theo kèm tự 2 bên đơn vị nội nước ngoài của ngoctrinc, cơ mà chúng ta ko yêu cầu.

Chưa không còn, ai lại mong mỏi 1 bà vợ nhưng mà tuỳ thời có khả năng sẽ bị nhà vợ dạy cấp dưỡng đông đảo thứ khác, không thể điều hành và kiểm soát dc. Một ngày đẹp nhất trời làm sao kia, lỡ như:

Object.prototype.karate = function() console.log("sử dụng lúc chồng nhậu khuya");Thì coi như chấm dứt. Do đó giữa những ngôi trường vừa lòng này, Khi nhưng chúng ta ko yêu cầu cho sức mạnh của prototype, ko buộc phải thừa kế gì cả, thì Object.create(null) để giúp chúng ta tạo ra object tinh khiết, thuần khiết ko kế thừa.

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

var ngoctrinc = Object.create(null);Object.prototype.karate = function() console.log("sử dụng lúc ông xã nhậu khuya");ngoctrinc.karate(); // TypeError: ngoctrinc.karate is not a function// yay so much win !Vậy là bọn họ tha hồ đi nhậu về khuya.


Chuyên mục: Kiến Thức