JavaScript对象之属性标签

本文介绍一下js对象的属性标签(configurable、writable、enumerable、value、get、set)的使用。

JavaScript对象之属性标签_第1张图片

上图的要点为:

1.Object.getOwnPropertyDescriptor(obj,attr)可以获取属性标签的信息。

2.configurable控制属性是否可配置,writable控制属性是否可直接修改,enumerable控制属性是否可被枚举出来。

JavaScript对象之属性标签_第2张图片

上图中Object.keys(person)不会输出不能被枚举的对象属性。

JavaScript对象之属性标签_第3张图片

上图的要点为:

1.使用Object.defineProperties可定义对象的多个属性。

2.未设置的属性标签的默认值是false。

JavaScript对象之属性标签_第4张图片

上图通过重写promote属性的setter,使得当给promote赋值为2后,人的工资发生改变。感觉像Java的面向对象中的类。

这里的get和set的语法和JavaScript对象之get/set方法中的语法略有不同,但是其实本质是一样的。

JavaScript对象之属性标签_第5张图片

上图的要点为:

1.writable只限制了能否直接赋值。

2.configurable为false依然能直接修改属性的值。

3.若writable和configurable都是false,则无法进行属性的修改。

你可能感兴趣的:(JavaScript对象之属性标签)