javascript对象如何创建_有哪些属性描述符

admin 百科 17
JavaScript创建对象有字面量、构造函数、Object.create()、class和工厂函数五种方式;属性描述符分数据型(value/writable)和存取型(get/set),含configurable、enumerable等通用字段,用于精细控制属性行为。

javascript对象如何创建_有哪些属性描述符-第1张图片-佛山资讯网

JavaScript 中创建对象有多种方式,每种方式适用于不同场景;而属性描述符则用于精细控制对象属性的行为,比如是否可修改、是否可枚举、是否可配置等。

常见对象创建方式

最常用、最基础的创建方式包括:

  • 对象字面量:最简洁直观,适合创建单个简单对象。
    const obj = { name: "Alice", age: 30 };
  • 构造函数(new Object()):语义明确但冗长,日常较少用。
    const obj = new Object(); obj.name = "Alice";
  • Object.create():显式指定原型,适合需要自定义原型链的场景。
    const proto = { sayHi() { return "Hi!"; } }; const obj = Object.create(proto);
  • 类(class)语法:ES6 引入,本质仍是基于原型的构造函数,适合面向对象建模。
    class Person { constructor(name) { this.name = name; } }
  • 工厂函数:返回新对象,避免 new 和 this 问题,常用于封装创建逻辑。
    function createPerson(name) { return { name, getName() { return this.name; } }; }

属性描述符类型

每个对象属性都有对应的描述符,分为两类:

  • 数据描述符:具有 valuewritable,用来定义普通属性值和写权限。
    例如:Object.defineProperty(obj, 'age', { value: 25, writable: false });
  • 存取描述符:具有 getset,用于拦截读写操作,实现响应式或计算属性。
    例如:Object.defineProperty(obj, 'fullName', { get() { return this.first + ' ' + this.last; } });

二者不可混用——不能同时设置 valueget,否则会报错。

立即学习“Java免费学习笔记(深入)”;

标签: javascript es6 java js json

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~

趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官
趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官