ES6对数据类型都做了那些优化

ES6 对 String 字符串类型做优化:

ES6 新增了字符串模板,在拼接大段字符串时,用反斜杠(、)取代以往的字符串相加的形式,能保留所有空格和换行,使得字符串拼接看起来更加直观,更加优雅。

ES6 对 Array 数组类型做优化:

1 、数组解构赋值 ES6 可以直接以 let [a,b,c] = [1,2,3]形式进行变量赋值,在声明较多变量时,不用再写很多 let(var),且映射关系清晰,且支持赋默认值。

2 、新增的扩展运算符(...),可以轻松的实现数组和松散序列的相互转化,可以取代 arguments 对象和 apply 方法, 轻松获取未知参数个数情况下的参数集合 。 (尤其是在 ES5 中, arguments 并不是一个真正的数组, 而是一个类数组的对象, 但是扩展运算符的逆运 算 却可以返回一个真正的数组) 。 扩展运算符还可以轻松方便的实现数组的复制和解构赋值(let a = [2,3,4]; let b=[...a])

ES6 对 Number 数字类型做优化:

ES6在Number 原型上新增了 isFinite(), isNaN()方法,用来取代传统的全局 isFinite(), isNaN() 方法检测数值是否有限、是否是 NaN。

ES6 对 Function 函数类型做的优化:

1 、箭头函数:

 箭头函数里没有自己的this,这改变了以往 JS 函数中最让人难以理解的this运行机制。

优化点:

1.1) 箭头函数内的 this 指向的是函数定义时所在的对象,而不是函数执行时所在的对象。ES5函数里的 this 总是指向函数执行时所在的对象,这使得在很多情况下this 的 指 向变得很难理解,尤其是非严格模式情况下,this有时候会指向全局对象,这甚至也可以归结为语言层面的bug之一 。ES6 的箭头函数优化了这一点,它的内部没有自己的 this,这也就导致了this 总是指向上一层的this,如果上一层还是箭头函数,则继续向上指,直到指向到有自己this 的函数为止,并作为自己的this。

 1.2) 箭头函数不能用作构造函数,因为它没有自己的this,无法实例化。

1.3) 也是因为箭头函数没有自己的 this,所以箭头函数内也不存在 arguments 对象。 (可以用扩展运算符代替)

2 、函数默认赋值ES6之前,函数的形参是无法给默认值得,只能在函数内部通过变通方法实现。ES6 以更简洁更明确的方式进行函数默认赋值。

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值