ECMAScript6之对象扩展————呱呱二号

{
//对象的扩展
}
{
//1、属性的简洁表示法
let fruit = 'fruit';
let animal = 'animal';
//变量名为属性名,变量值为属性值
let foo = {
fruit,
animal,
};

let fish = {
method() {
console.log('method');
}
}

//属性的赋值器(setter)和取值器(getter),事实上也是采用这种写法
const cart = {
_wheel: 4,
get wheels() {
return this._wheels;
},
set wheels(value) {
if (value < this._wheels) {
throw new Error('数值太小了!');
}
this._wheels = value;
}
}
}
{
//2、属性名表达式
let name = 'guaguaerhao';
let obj = {
[name]: 'wahaha',
}
}
{
//3、方法的name属性
// 函数的name属性,返回函数名。对象方法也是函数,因此也有name属性
const person = {
sayName () {
console.log('hello');
}
}
person.sayName.name; //sayName
}
{
// 4、Object.is()
//ES6将对象的操作封装到Reflect中去
let a = 'haha';
let b = 'haha';
Object.is(a,b);//判断两个值是否相等 true

Object.is([],[]);//false,数组是应用类型,存放的是对象地址
Object.is(NaN,NaN);//true
}
{
//5、Object.assign(); 浅拷贝
//用于对象的合并,将源对象的所有可枚举属性(source),复制到目标对象(target)
const target = {a:1};
const source1 = {b:2};
const source2 = {c:3};

Object.assign(target,source1,source2);
target //{a: 1,b: 2,c: 3}
//Object.assign方法的第一个参数是目标对象,后面的参数都是源对象。

}
{
// Object.keys()
// 返回对象自身的所有可枚举的属性的键名
}
{
//属性的遍历
// es6一共有5种
for...in
Object.keys(obj)
Object.getOwnPropertyNames(obj)
Object.getOwnPropertySymbols(obj)
Reflect.ownKeys(obj)
}
{
//ES2017
Object.keys()
Object.values()
Object.entries();
}

转载于:https://www.cnblogs.com/guaguaerhao/p/8186308.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值