1.拓展运算符 ...variable
数组拓展:
let a = [1,2,3];
let b = [4,5,...a];//b=[4,5,1,2,3]
也可拓展对象:
let a = {x:3, y:4};
let b = {xx:1, yy:2, ...a};//b={xx:1, yy:2, x:3, y:4}
这里小数点是三个,跟剩余参数function f(arg1, ...rest) {}
的小数点个数相同
2.模板字符串 ${variable}
var s='sss';
var ss=`1${s}1`;//ss='1sss1'
这里的引号是反单引号。单引号、双引号不支持该语法
3.定义对象时,属性与值的简写
var a=1;
var b={ a };//等价于var b={ a : a }
4.定义对象时,方法的简写
var a={
m (){}
}
/* 等价于:
var a={
m : function(){}
}
*/
使用[]
可创建变量值的方法名
var m='method';
var a={
[m] (){}
}
/*此时方法应该如下调用:
a.method()
*/
5.对象的属性的类型是字符串
var a={ b:1, 'b-b':2 }//等价于var a={ 'b':1, 'b-b':2 }
console.log( a['b'], a['b-b'] )
由于语法限制,不能直接var a={ b-b:2 }
这样。因为-
不能出现在变量名,但对象的属性的类型是字符串,所以改用var a={'b-b':2 }
是可以的。
网友评论