Skip to content

对象、类与面向对象编程

上次更新 2024年8月27日星期二 9:1:57 字数 0 字 时长 0 分钟

对象

理解对象

可以将它视为散列表,拥有若干的 名值对结构 ,值可以是 数据 或者函数

  • 创建

    • javascript
      let person = new Object();
    • javascript
      let person = {};
  • 属性类型

    • 数据属性【4 个描述对象特性的属性】

      • [[Configurable]]:表示属性是否可以通过 delete 删除并重新定义,是否可以修改它的特性,以及是否可以修改访问器属性。默认情况下,所有被直接定义到对象的属性 这个特性都为true
      • [[Enumberable]]:表示属性是否可以**(枚举)通过 for-in 循环返回**。默认情况下 true
      • [[Writable]]:表示属性值是否可以被修改。 默认情况下,true 可以被修改的、
      • [[Value]]:包含属性实际的值。读取与写入属性的位置。默认值是undefined
    • 修改以上特性的方式 Object.defineProperty()方法

      • 接受 3 个参数 添加的对象名称、要修改特新的属性名称、options(可以包含 :confiigurable、enumerable、writable、value)与上面提到的特性一一对应

      • 若不可修改的对象属性被修改了 ,严格模式 报错,非严格模式 被忽略

      • javascript
        let person = { name: "qwer" };
        Object.defineProperty(person, "name", { configurable: false });
  • 访问器属性

类定义