JavaScript对象之属性标签

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

上图的要点为:

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

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

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

上图的要点为:

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

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

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

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

上图的要点为:

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

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

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

posted @ 2020-01-22 21:59  罗毅豪  阅读(483)  评论(0编辑  收藏  举报