ES6学习——新加API:Object
来源:互联网 发布:vb if else语句 编辑:程序博客网 时间:2024/05/22 22:57
这篇看看Object对象新添加的一些API。
1)Object.is ( value1, value2 )
使用===判断两个value是否相等,两个例外,NaN等于NaN,-0不等于+0。
var x = NaN, y = 0, z = -0;x === x; // falsey === z; // trueObject.is( x, x ); // trueObject.is( y, z ); // false
2)Object.getOwnPropertySymbols( O )
返回对象Symbol类型的key。
3)Object.setPrototypeOf ( O, proto )
设置对象的隐式原型。
var o1 = { foo() { console.log( "foo" ); }};var o2 = {};Object.setPrototypeOf( o2, o1 );o2.foo(); // foovar o1 = { foo() { console.log( "foo" ); }};var o2 = Object.setPrototypeOf( {}, o1 );o2.foo();
4)Object.assign ( target, ...sources )
对象的浅拷贝,把sources对象的内容拷贝到target,忽略Symbol类型的key,不能枚举的key,父对象中的key
var target = {},o1 = { a: 1 }, o2 = { b: 2 },o3 = { c: 3 }, o4 = { d: 4 };Object.defineProperty( o3, "e", {value: 5,enumerable: true,writable: false,configurable: false} );Object.defineProperty( o3, "f", {value: 6,enumerable: false} );o3[ Symbol( "g" ) ] = 7;Object.setPrototypeOf( o3, o4 );Object.assign( target, o1, o2, o3 );target.a; // 1target.b; // 2target.c; // 3target.e; // 5Object.getOwnPropertyDescriptor( target, "e" );//Object {value: 5, writable: true, enumerable: true, configurable: true}
*以上全部代码在Chrome 48下通过测试
0 0
- ES6学习——新加API:Object
- ES6学习——新加API:Array
- ES6学习——新加API:Math
- ES6学习——新加API:Number
- ES6学习——新加API:String
- ES6学习——新的语法:Symbol API介绍
- ES6学习——新的语法:对象解构(Object Destructuring)
- ES6学习——新的语法:对象字面量扩展(Object Literal Extensions)
- ES6学习——新的语法:对象字面量扩展(Object Literal Extensions)
- ES6学习——Promises:API介绍
- ES6学习——Promises:API介绍
- ES6学习——新的语法:let
- ES6学习——新的语法:const
- ES6学习——新的语法:函数参数Spread
- ES6学习——新的语法:数组元素Spread
- ES6学习——新的语法:Rest
- ES6学习——新的语法:函数参数默认值
- ES6学习——新的语法:函数参数解构
- Android相机开发那些坑
- 103. Binary Tree Zigzag Level Order Traversal
- 小型企业组织建设第四阶段
- oracle数据库包package小例子
- 按位与、或、异或等运算方法
- ES6学习——新加API:Object
- Android动态加载相关知识点总结
- jQuery操作checkbox详解
- 配置windows update失败还原更改_解决方案
- struts标签详解
- Spring3 整合MyBatis3 配置多数据源 动态选择SqlSessionFactory
- 12.Swift 中的关键字详解
- 插入排序
- People CMM和抗日义勇军