ES6语法糖

2018-04-23  本文已影响692人  Jocelyn_Long

参考

对象字面量

字面量提供一种简写,我的理解是简写定义一个属性与属性值都为字面量的对象。
而且支持计算属性 直接用中括号将变量包含起来就可以直接使用。
var person = { [meteInfo] : {gender: 'male',age: '10'}};

ES6 的对象字面量方法简写允许我们省略对象方法的function关键字及之后的冒号。
tips:简写与计算属性不能同时使用。

箭头函数

不能命名,但可以赋值给一个变量。不能当做构造函数。
没有props属性。不改变this的指向。

(参数1, 参数2, …, 参数N) => { 函数声明 }
(参数1, 参数2, …, 参数N) => 表达式(单一)
//相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }
// 当只有一个参数时,圆括号是可选的:
单一参数) => {函数声明}
单一参数 => {函数声明}
// 没有参数的函数应该写成一对圆括号。
() => {函数声明}

tips:
参数或返回值为对象都必须用小括号包起来,不然会出现解析异常。
有逻辑运算符时,也需要使用小括号提升运算等级。

解构赋值
剩余参数rest与扩展符

在最后的参数前面加... 既为剩余参数。

function join(separator, ...list) {
return list.join(separator)
}
join('; ', 'first', 'second', 'third')
// <- 'first; second; third'

扩展运算符可以将任意枚举对象转成数组。
在对象前面加... 即使用扩展运算符将对象转为了数组。

模板字符串

模板字符串采用反引号,在模板字符串中可以使用${}包含表达式。
var text = `This is my first template literal`
多行字符串直接包含在反引号中即可。不会对/n 进行解析。需要解析可以采用String.raw

var text = String.raw`"\n" is taken literally.
It'll be escaped instead of interpreted.`
console.log(text)
// "\n" is taken literally.
// It'll be escaped instead of interpreted.
let 和const声明变量

此处还有顶层对象和窗口对象,具体概念还是自己去看ES6入门吧.

上一篇下一篇

猜你喜欢

热点阅读