(39)2021-02-25(ES6对象的扩展:对象属性的简洁表示法、属性名表达式、扩展运算符(...))

ES6对象的扩展:对象属性的简洁表示法、属性名表达式、扩展运算符(...)

一、对象的扩展

1.对象属性的简洁表示法

ES6可以在对象的大括号中,直接写入变量 和函数,作为对象的属性和方法。如果属性名与变量名相同,则可以简写,只写属性名即可。

var name = "赫本";
var obj = {name};
console.log(obj);//{name:赫本}
//相当于
var name = "赫本";
var obj = {name:name}
console.log(obj);//{name:赫本}
function fn(a,b){
	return {a,b};
}
var obj = fn("hello","word");
console.log(obj);// {a: "hello", b: "word"}
1.1 方法的简写

在对象中,可以对方法进行简写。

let obj = {
    fn(){
        console.log("今晚九点,海岛集合。");//今晚九点,海岛集合。
    }
}
//相等于
let obj = {
    fn:function(){
        console.log("今晚九点,海岛集合。");//今晚九点,海岛集合。
    }
}

【注】简写只适用于普通方法,构造函数不能简写。

2.属性名表达式

let obj = {
       name: "费雯丽",
       age: "20"
}
console.log(obj.name);//费雯丽  (方式一)
console.log(obj["name"]);//费雯丽  (方式二)
  let obj2 = {
       name: "费雯丽",
       ["ag" + "e"]: "20";   //ES6属性名写法可以用该方法:中括号,字符串拼接方式
}
console.log(obj2);//{name: "费雯丽", age: "20"}

3.扩展运算符(…)

拆分的功能,如果是对象,则将对象中的所有属性遍历出来,如果是数组,则将所有的元素遍历出来。

let a = {x:1,y:2}
let b = {...a}
console.log(b);//{x: 1, y: 2}
let arr = [10,20,30];
let c = {...arr}
console.log(c); // {0: 10, 1: 20, 2: 30}
console.log(c["0"]); //10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值