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 以更 简 洁更明确的方式进行函数默认赋值

相关推荐
bugcome_com2 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
To_OC2 小时前
写了三天 Next.js,我的 React 世界观被拆了又装回去
前端·全栈·next.js
独泪了无痕3 小时前
viewer.js 安装与配置指南:实现图片预览功能
前端·vue.js
起床学FPGA4 小时前
AI回答问题之后,会自动跳到最下面的问题
开发语言·javascript·ecmascript
Fluxart.ai5 小时前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
why技术5 小时前
AI 写的文章,可能都带着手敲一遍都去不掉的“隐形水印”。
前端·人工智能·后端
愚公搬代码5 小时前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
CodeSheep5 小时前
又一个华为天才少年,离职了!
前端·后端·程序员
kyriewen6 小时前
面试官说"打开你的AI工具"——我才发现,他考的根本不是写代码
前端·人工智能·面试
IT_陈寒7 小时前
Vue的双向绑定把我坑惨了,原来这个场景不能用
前端·人工智能·后端