我是靠谱客的博主 优美心锁,最近开发中收集的这篇文章主要介绍ES6 对象的扩展 简单测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

测试环境:max oS,node v6.3.1  , 不使用严格模式,2016/7/22

1、属性的简洁表示法(支持)

function get(){
	var x=1,
		y=2;
	return {x,y};
}
console.log(get());


2、属性名表达式(支持)

var b = 'age';
var a = {
	[b]:20,
	['name']:'Tom'
}
console.log(a);

{ age: 20, name: 'Tom' }


3、Object.is() 同值相等 (支持)

var a = Object.is(+0,-0);
var b = Object.is(NaN, NaN);

var a2 = +0 === -0;
var b2 = NaN ===NaN;

console.log(a,b,a2,b2);
//false true true false

4、Object.assign() 对象合并 (支持)

 (1)克隆对象

var a = {x:1, y:2};
var b = Object.assign({y:10}, a);
b.x = 100;
console.log(a,b);  //克隆后会覆盖原值

{ x: 1, y: 2 } { y: 2, x: 100 }


(2)指定默认值
const defaults = {age:20,name:'noname'}
var a = Object.assign({},defaults,{age:50});
console.log(a);
//name 默认值为 ‘noname’

{ age: 50, name: 'noname' }



5、对象扩展运算符  ...  (ES7的提案)

(1)rest解构赋值  (不支持)

var {x,y, ...z} = {x;1, y:2, a:3, b:4}
console.log(x,y,z);

SyntaxError: Unexpected token ...

(2)扩展运算符  (不支持)

var a= {x:1, y:2, a:3, b:4}
var n = { ...a };
console.log(n);

SyntaxError: Unexpected token ...


6、ES6的5种遍历对象属性的方法,注意他们的区别

1、for  in

2、Object.keys(obj)

3、Object.getOwnPropertyNames(obj)

4、Object.getOwnPropertySymbols(obj)

5、Reflect.ownKeys(obj)


7、es6附录中建议不使用 _proto_ 属性,使用下面代替(支持)

Object.setPropertyOf(obj, prototype);

Object.getPropertyOf(obj);


8、  es5中 Object.getOwnPropertyDescriptor() 返回某个属性的描述对像(支持)

es7中 提案 Object.getOwnPropertyDescriptors(obj) 返回某个对象的所有属性的描述对象(不支持)

var a= {x:1, y:2, a:3, b:4}

// var b = Object.getOwnPropertyDescriptors(a);
// console.log(b);
// TypeError: Object.getOwnPropertyDescriptors is not a function

var c = Object.getOwnPropertyDescriptor(a,'x');
console.log(c);
//{ value: 1, writable: true, enumerable: true, configurable: true }


9、关于enummerable属性,四个操作会忽略:

(1)for in

(2)Object.keys()

(3)JSON.stringfy()

(4)Object.assign()



最后

以上就是优美心锁为你收集整理的ES6 对象的扩展 简单测试的全部内容,希望文章能够帮你解决ES6 对象的扩展 简单测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部