javascript对象属性特征

作者: Hi小胡 | 来源:发表于2018-01-17 15:28 被阅读35次

javascript对象有三个特征:

  1. 可写:writable
  2. 可配置:configurable
  3. 可枚举:enumerable

下面通过例子来解析他们的作用

  • 首先写一个对象:

var person = {
  name:"hester",
  age:17
}
  • 列举对象属性的特征getOwnPropertyDescriptor

var info = Object.getOwnPropertyDescriptor(person,"name");
console.log(info);
//{"value":"hester","writable":true,"enumerable":true,"configurable":true}
  • writable特征:

console.log(person.name); // hester
Object.defineProperty(person,"name",{writable:false});
person.name = "jack";
console.log(person.name); // hester

属性设置writable为false后,不可修改该属性的值

  • configurable特征:

Object.defineProperty(person,"name",{configurable:false});

属性设置configurable为false后:
1.不可设置configurable为true;
2.不可设置enumerable(true为false 和 false为true均不可以);
3.不可设置writable由false为true,可设置writable由true为false

  • enumerable特征:

for(var p in person){
  console.log(p);
} // name,age 
Object.defineProperty(person,"name",{enumerable:false});
for(var p in person){
  console.log(p);
} // age
console.log(person.name); // hester

属性设置enumerable为false后,不可被枚举出来,比如for...in循环等。但是可以访问

检查属性的enumerable特征状态

person.propertyIsEnumerable("name"); // false

相关文章

  • javascript对象属性特征

    javascript对象有三个特征: 可写:writable 可配置:configurable 可枚举:enume...

  • No.25 JavaScript对象

    在 JavaScript 中,对象是一组无序的相关属性和方法的集合,对象是由属性和方法组成的。属性:事物的特征,在...

  • JSON谜思

    一、数组 特征:方括号[],如: 二、对象 定义: 对象是带有属性和方法的特殊数据类型,JavaScript 中所...

  • 第八章初识类和对象

    初识类和对象 对象的特征--属性 属性---对象具有的各种特征每个对象的每个属性都用有特定值 对象的特征--方法 ...

  • 对于Object.defineProperty()方法的理解

    理解对象 创建一个对象时,会为对象添加一些属性和方法,这些属性在创建的时候都带有一些特征值,JavaScript通...

  • js的prototype

    javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解...

  • JavaScript - prototype理解

    Javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解...

  • JavaScript学习笔记7_对象_2对象属性

    属性检测 JavaScript对象是属性的集合,我们经常需要判断某个属性是否存在于某个对象中。JavaScript...

  • JavaScript对象属性

    JavaScript对象属性 简单理解对象 运行环境 node V10.16.3 对象属性 数据属性数据属性包含...

  • javascript对象的遍历、内存分布和封装特性

    javascript对象的遍历、内存分布和封装特性 一、javascript对象遍历 1.javascript属性...

网友评论

    本文标题:javascript对象属性特征

    本文链接:https://www.haomeiwen.com/subject/fqluoxtx.html