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

ops/2024/10/22 16:18:58/
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 以更 简 洁更明确的方式进行函数默认赋值


http://www.ppmy.cn/ops/91738.html

相关文章

Jenkins的安装方式

一、Jenkins是什么 Jenkins是一款开源CI&CD软件,用于自动化构建、测试和部署软件等各种任务,以实现持续集成。 Jenkins支持各种运行方式,可通过系统包、Docker或者通过一个独立的Java程序。 二、安装方式 2.1禅道智能应用平台一键安装…

速盾:分享一些防御 DDoS 攻击的措施

DDoS(分布式拒绝服务)攻击是指攻击者通过操纵大量的计算机或网络设备,向特定的目标发起大规模的网络流量,以消耗目标网络资源,造成网络服务不可用的攻击行为。为了保护网络免受DDoS攻击的影响,组织和个人可…

【简历】吉林某985大学:Java简历指导,面试通过率低

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 简历说明 这是一份顶级985的25届Java简历。顶级985现在的目标只有一个,就是大厂秋招。那么这位同学跟211和普通同学比,优势还…

一文详解MySQL的引擎种类以及用途

MySQL引擎分类 MySQL数据库有多种存储引擎,每种引擎都有其特点和适用场景。 以下是一些主要的MySQL存储引擎及其特点和适用场景: 1. InnoDB 特点: 支持事务(ACID事务特性)。支持行级锁定,能够提高并发性…

一个IT能拖垮整个公司?你若不信,看完此文再来评论

看到文章的标题,你也许会心生疑惑:一个IT真的能拖垮整个公司吗?也可能会觉得我根本就是在哗众取宠、博人眼球。 而我要说,在特定的条件下,这真的不夸张,你若不信,且听我娓娓道来,看完…

C++ 几何算法 - 直线与圆的交点

一:算法介绍 给定一个圆的中心坐标和它的半径,以及一个直线方程,那么直线与圆的交点怎么求?这里我们不再使用求解二元方程组方法,而是从几何角度来解决问题,这种方法与代数方法相比,更直观,更准确。 1. 在不失一般性的情况下,我们假设圆的中心位于坐标系原点,如果不是…

编译和汇编的区别

一、编译 编译是将高级语言(如C、C、Java等)编写的源代码转换成计算机可以直接执行的低级语言(通常是机器语言或汇编语言)的过程 编译 —— 将人类可读的源代码转换为计算机可执行的指令集 编译过程 通常包括词法分析、语法分…

【深度学习】TTS,LibriTTS数据集

下载地址: https://openslr.elda.org/resources/60/ LibriTTS 是一个包含英文音频数据的数据集。LibriTTS 数据集主要基于 LibriVox 的有声书内容,用于训练和评估文本到语音(TTS)系统。这个数据集包括高质量的录音和对应的文本转录,可以帮助开发者构建和优化 TTS 模型。 …