1.Object.getOwnPropertyDescriptor() 解释:获取对对象属性的描述对象. let obj = { foo: 123 }; console.log(Object.getOwnPropertyDescriptor(obj, 'foo')) 显示结果: { configurable: true enumerable: true value: 123 writable: true __proto__: Object } enumerable属性,称为可枚举性,如果为 fa…
可枚举性(enumerable)用来控制所描述的属性,是否将被包括在for...in循环之中.具体来说,如果一个属性的enumerable为false,下面三个操作不会取到该属性.* for..in循环  :只遍历对象自身的和继承的可枚举的属性* Object.keys方法 :返回对象自身的所有可枚举的属性的键名* JSON.stringify方法:只串行化对象自身的可枚举的属性 * Object.assign()(ES6):只拷贝对象自身的可枚举的属性 这四个操作之中,只有for...in会返…
ES6一共有5种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性). (2)Object.keys(obj) Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性). (3)Object.getOwnPropertyNames(obj) Object.getOwnPropertyNames返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).…
在ES6中允许我们在设置一个对象的属性的时候不指定属性名. 不使用ES6: const name='Ming', age='18', city='Shanghai'; const student ={ name:name, age:age, city:city }; console.log(student); 使用ES6: const name='Ming', age='18', city='Shanghai'; const student ={ name, age, city }; conso…
1.Object.is() 判断俩个值是否相等 +0 不等于 -0 NaN 等于自身 console.log(Object.is('foo','foo')); // true console.log(Object.is({},{})); // false console.log(Object.is(+0,-0)); // false console.log(Object.is(NaN,NaN)); // true 2.Object.assign() Object.assign(target, s…
说到枚举,可能很多人都会想到枚举类型,但在javascript对象中有一个属性为可枚举性,他是什么呢? 概念 可枚举性(enumerable)用来控制所描述的属性,是否将被包括在for...in循环之中.具体来说,如果一个属性的enumerable为false,下面三个操作不会取到该属性.* for..in循环* Object.keys方法* JSON.stringify方法 enumerable "隐身术" var o = {a:1, b:2}; o.c = 3; Object.de…
ES6之6种遍历对象属性的方法 for ... in 循环遍历对象自身的和继承的可枚举属性(不含Symbol属性). Obejct.keys(obj),返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性). Object.getOwnPropertyNames(obj),返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性). Object.getOwnPropertySymbols(obj),返回一个数组,包含对象自身的所有Symbol属…
    在学习ES6的过程中,涉及到遍历方法时,提到过可枚举性,且多种遍历方法都与可枚举性相关.本章节,将总结这些遍历方法的可枚举性,并在必要的部分,给出对比实例. 一.设置属性的可枚举性 在上一文章“Object的原型克隆”中,简单介绍了Object.defineProperty()方法.通过该方法的属性描述符 enumerable,就可以设置该属性是否可以枚举,当设置为false时,不可枚举:否则,可枚举.如示例: Object.defineProperty(obj1, 'test', {…
/* 检测属性 检测属性可以通过三种方式 1.通过in运算符 2.通过hasOwnPerperty() 如果给定的属性是继承属性将返回false 3.通过propertyIsEnumerable():只有检测到的自有属性且这个属性的可枚举性为true时它才返回true,某些内置对象是不可枚举的,通常由JavaScript代码创建的对象的属性是可枚举的. */ var o = { x: 1}; "x" in o.x; //true "y" in o.x; //fals…
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算法全解 js系列教程6-BOM操作全解 js系列教程7-DOM操作全解 js系列教程8-事件全解 js系列教程9-表单元素全解 js系列教程10-canvas绘图全解 js系列教程11-json.ajax.comet全解 js系列教程12-离线应用与存储全解 var student1 = new O…