JavaScript 小知识-对象的创建及原型简学

91 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

JavaScript 中的对象是一个重要的知识点, 所谓面向对象编程, 万物皆对象. 在 JavaScript 中对象更是比较重要的, 本文来学习 JavaScript 中对象的原型: prototype.

JavaScript 对象

对象在 JavaScript 中是一个最基本的数据类型. 对于 JavaScript 来说太重要了.

而每一个对象都有一个与之相关联的对象, 这一个对象称之为对象的原型(prototype). 每一个对象的创建要从这个原型继承对象的属性.

JavaScript 对象创建的方法

  1. 直接赋值创建一个对象. 就是字面量方法, 这是创建一个对象最简单的方法!

    const obj = {} // 创建一个空对象
    const obj1 = { pro: 'proValue', pro2: 'pro2Value' } // 创建有两个属性的对象
    
  2. 通过关键字 new 来创建对象: new Object()

    let obj = new Object() // 创建一个空对象 和上面字面量法创建的一样 是一个 {}
    let array = new Array() // 创建一个空数组对象. 和 [] 相同
    

    当然 还有一种方法来创建对象, 那就是Object.create()

说到第三种方法就要提到原型了

通过第一种方法创建的对象都有相同的原型对象. 在 JavaScript 中可以通过 Object.prototype 来引用这个对象.

而上面介绍的后两种创建对对象的方法, new 关键字 和 Object.create 构造函数创建的对象, 其原型是使用 构造函数 prototype 属性的值作为原型.

就是 new Object() 创建的对象是继承自 Object.prototype.

然后就是第三种方法创建一个对象:

let obj = Object.create({ x: 1, y: 2 }); // { x: 1, y: 2} 
obj.x + obj.y // obj 继承了参数的属性 x 和 y  故 x+y = 3