Prototypes là gì

Slàm việc dĩ ta nói những điều đó là vì Lúc hỏi object 1 property làm sao kia, giả dụ phiên bản thân nó ko có tác dụng dc, nó đã dựa vào prototype của chính nó, prototype này tuy-mặt-đầy-thẹo nhưng lại trường hợp vẫn không làm nổi, đã lại thường xuyên hỏi prototype cung cấp trên và cứ thay cho đến thằng prototype đại ca tốt nhất, quyền lực nhất có tên là Object.prototype mà lại giang hồ nước còn được gọi là bố già.

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

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

Array khôn xiết giữ manh còn chỉ nghe lệnh cung cấp trên của nó là Array.prototype, dẫu vậy đáng tiếc 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 vì đại ca Function.prototype của chính nó. Vị đại ca này, Tuy mạnh khỏe mà lại vẫn là bầy em của Object.prototype.

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

*

vì thế ta nói cách khác trong javascript, đại nhiều phần phần lớn là bộ đội của object, xuất xắc có thể nói rằng trong javascript tổng thể những là object, xung quanh cặp vợ ck xuyên ngày sống vào cổ chiêu mộ, không yêu thích ra đường: anh dương-undefined và chị tiểu-long-null.

Hiểu tính năng của prototype, ta có thể lợi dụng nó nhằm thêm công dụng mang lại môn đồ, loại nlỗi ví như sư prúc có giết mổ nạp năng lượng thì môn đồ cũng bắt buộc được phân chia bát canh.

Xem thêm: Tướng Khắc Chế Jayce - Cách Khắc Chế Tướng Jayce Mùa 11

Lấy ví dụ, giả dụ ban sơ bà xã chỉ biết mổi đun nấu ăn.

function Wife() this.cook = function() console.log("thổi nấu mì chua-cay-hao-hao"); var ngoctrinch = new Wife();ngoctrinch.cook(); // in ra nấu mì ...mà lại thật ra thì ăn mì mãi cũng chán, cho nên vì vậy chúng ta sẽ thêm tính năng đến vợ

// thêm bản lĩnh ấy vào function vk.Wife.prototype.ay = function() // chức năng này khó khăn, bởi vì các bạn trường đoản cú code !do vậy, chúng ta biết ngoctrinh là đệ tử của Wife, xuất xắc nói theo một cách khác là instance của constructor Wife. Do kia ngoctrinh tức thì lập tức biết "ấy". Chúng ta có thể thẳng Hotline ngoctrinh.ay() để kiểm soát.

Nguy hiểm không chỉ có vậy, chúc ta có thể thẳng dạy dỗ đến Object.prototype tốt nắm võ công makeSandwich:

Object.prototype.makeSandwich = function() console.log("suvị make me a sandwich");Và như vậy ngoctrinh đang biết có tác dụng bánh

ngoctrinh.makeSandwich();// suvày make me a sandwichLà một coder giỏi tò và mò, bọn họ yêu cầu khám nghiệm lại xem ngoctrinc biết có tác dụng phần đông gì.

for(var skill in ngoctrinh) console.log(skill); // cook (trường đoản cú biết)// ay ( chị em vk dạy)// makeSandwich ( bà bầu của bà bầu vợ dạy dỗ )Tuy nhiên, thiệt bất thần ngoctrinc còn biết toString(), toLocaleString(), hasOwnProperty() v..v.. nữa, mấy đồ vật này là xoàn Tặng khuyến mãi ngay kèm từ phía hai bên đơn vị nội ngoại của ngoctrinh, mà lại chúng ta ko phải.

Chưa không còn, ai lại ao ước 1 bà vợ cơ mà tuỳ thời có khả năng sẽ bị công ty vợ dạy sản xuất rất nhiều sản phẩm công nghệ không giống, quan trọng kiểm soát và điều hành dc. Một ngày rất đẹp trời làm sao đó, lỡ như:

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

Xem thêm: Bảng Màu Đen Hợp Mệnh Gì ? Hợp Với Màu Gì Theo Thuyết Ngũ Hành Sinh Khắc?

var ngoctrinch = Object.create(null);Object.prototype.karate = function() console.log("sử dụng lúc ck nhậu khuya");ngoctrinc.karate(); // TypeError: ngoctrinh.karate is not a function// yay so much win !Vậy là chúng ta tha hồ nước đi nhậu về muộn.


Chuyên mục: Công Nghệ 4.0