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

JavaScript 中创建对象有多种方式,每种方式适用于不同场景;而属性描述符则用于精细控制对象属性的行为,比如是否可修改、是否可枚举、是否可配置等。
最常用、最基础的创建方式包括:
每个对象属性都有对应的描述符,分为两类:
value 和 writable,用来定义普通属性值和写权限。get 和 set,用于拦截读写操作,实现响应式或计算属性。二者不可混用——不能同时设置 value 和 get,否则会报错。
立即学习“Java免费学习笔记(深入)”;
所有描述符都可能包含以下可选字段:
false 时,该属性不能被删除,也不能再次修改其描述符(如从数据描述符改为存取描述符)。false 时,该属性不会出现在 for...in、Object.keys() 或 JSON.stringify() 中(即“隐藏”属性)。false 时,无法通过赋值改变其 value(严格模式下会报错)。undefined。get 可单独存在,set 不可单独存在)。使用内置方法操作描述符:
configurable: false 后不可再改)。Object.create() 或 Object.assign() 的替代方案)。注意:直接赋值(如 obj.x = 1)创建的属性,默认是 { writable: true, enumerable: true, configurable: true };而通过 Object.defineProperty 创建的属性,默认 configurable 和 enumerable 为 false,writable 依描述符类型而定。
基本上就这些。理解创建方式帮你选对起点,掌握描述符才能真正掌控属性行为——不复杂但容易忽略。
以上就是javascript对象如何创建_有哪些属性描述符的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号