ES6
书和咖啡
学习python的小侠客
展开
-
ES6 解构赋值
解构赋值是对赋值运算符的扩展。是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。 数组的解构赋值 ES6 中可以从数组中提取值,对变量进行赋值,这种过程称为解构。 示例: 例如下面这个例子,从数组中提取值,按照对应位置,对变量赋值: let [x, k, d] = [1, 2, 3]; console.log(x); // 输出:1 console.log(k); // 输出:2 console.log(d); // 输出:3 这种写法属于模式匹配,只要等号两边的模式相同,就会将右边的原创 2020-11-12 11:24:57 · 142 阅读 · 0 评论 -
ES6 新特性之Set
ES6 提供了一个新的数据结构 Set,它和 Array 的结构很类似,但是 Set 中成员的值都是唯一的,没有重复的值。 创建Set Set 对象可以存储任何类型的唯一值,无论是原始值或者是对象引用。创建 Set 的实例需要用到 Set 构造函数,并且传入的参数必须只能是可迭代对象,例如数组,字符串 示例: 创建一个空的 set: let set1 = new Set(); console.log(set1); // 输出: Set {} 创建并初始化一个 set let set2 = new Set原创 2020-11-09 10:45:03 · 130 阅读 · 0 评论 -
ES6 新特征之Map
ES6 给我们提供了 Map 数据结构,它类似于对象,用于保存键值对。不同的是,Map 中键的范围不限于字符串类型,各种类型的值(包括对象)都可以当作一个键或一个值。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果需要用到“键值对”的数据结构,Map 比 Object 更合适。 Map和Object的区别 Object 中的键只能是字符串或者 Symbols 类型,但 Map 中的键可以是任意值。 Map 中的键值是有序的原创 2020-11-04 11:19:50 · 515 阅读 · 0 评论 -
ES6 新特征之Symbol
ES6 中除了 JavaScript 中几种基本的数据类型,Number、String、Boolean、Object、null、undefined 以外,还新引入了一种新的原始数据类型 Symbol,表示独一无二的值,属于类字符串数据类型,可以用来定义对象的唯一属性名。 基本使用 ES5 的对象属性名都是字符串,这容易造成属性名的冲突。而 ES6 中新引入的 Symbol 类型可以解决这个问题。Symbol 值是通过 Symbol 函数来生成的,可以用来定义对象的唯一属性名。属于 Symbol 类型的属性名原创 2020-11-02 10:46:07 · 92 阅读 · 0 评论 -
ES6 函数的扩展
函数的扩展我们可以从三个方面来了解与认识: 参数的默认值 箭头函数 关于尾调用的优化 参数的默认值 在 ES6 之前,我们不能直接为函数的参数指定默认值,只能采用变通的方法。而 ES6 中允许我们直接为函数的参数设置默认值,通过等号 = 直接在小括号中给参数赋值。 示例: function log(name, age = 18) { console.log(name, age); } console.log('xkd'); // 输出: xkd console.log('summ原创 2020-10-29 11:07:46 · 53 阅读 · 0 评论 -
ES6 对象的扩展
属性的简洁表示法 我们知道对象是由键值对组成的,在 ES6 中允许在对象的大括号内直接写入变量和函数,此时属性名是变量名,属性值是变量值。 示例: 例如我们定义两个变量 name 和 age,将这两个变量赋值给对象 person : const name = "xkd"; const age = 3; const person = {name: name,age: age} console.log(person); 可以简写为: const person = {name, age}; // 简写 然原创 2020-10-26 11:41:20 · 68 阅读 · 0 评论 -
ES6 数组的扩展
扩展运算符的使用 扩展运算符是由三个点组成 ...,可以用于将一个数组转为逗号分隔的一个参数序列。主要作用就是展开当前数组,一般用于复制数组,合并数组,解构,拆分字符串和转换 Iterator 接口的对象。 复制数组 数组是复合的数据类型,如果我们直接复制一个数组,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组。 示例: 在 ES5 中,我们只能通过方法来复制数组,如下所示: const a = [1, 2, 3]; const b = a.concat(); console.log(b); /原创 2020-10-22 11:52:13 · 99 阅读 · 0 评论 -
ES6 字符串的扩展
本节我们来学习 ES6 中字符串类型的扩展,包括一些字符串对象的新增方法的使用等。 字符的 Unicode 表示法 ES6 加强了对 Unicode 的支持,JavaScript 中可以采用 \uxxx 形式表示一个字符,其中 xxxx 表示字符的码点。例如: console.log("\u0075"); // u 但是这种表示法只限于码点在 \u0000~\uFFFF 之间的字符。超出这个范围的字符,必须用两个双字节的形式表示。 console.log("\uD842\uDFB7"); // ????原创 2020-10-20 10:07:49 · 88 阅读 · 0 评论 -
ES6 数值的扩展
本节我们学习 ES6 中的常用数据类型之数值(Number)类型。ES6 中除了 JavaScript 中的六种数据类型之外,还引入了一种新的原始数据类型 Symbol,它是 JavaScript 语言的第七种数据类型: Number (数值) String(字符串) Boolean(布尔值) Object(对象) undefined null Symbol 二进制和八进制表示法 ES6 中提供了二进制和八进制数值的新的写法: 二进制的新写法可以使用前缀 0b 或者 0B 表示。 let a =原创 2020-10-16 11:27:32 · 65 阅读 · 0 评论 -
ES6 块级作用域
本节我们来学习块级作用域,ES5 中只有全局作用域和函数作用域。这会导致函数作用域覆盖了全局作用域,或者循环中的变量泄露为全局变量。 示例: 函数作用域覆盖全局作用域: var a = 1; function test() { console.log(a); // 由于变量提升,导致内层的a变量覆盖了外层的a变量 if (true) { var a = 10; } } test(); // 输出:undefined 循环中的变量泄露为全局变量: for(va原创 2020-10-12 10:53:30 · 282 阅读 · 0 评论 -
ES6 const命令
本节我们学习 ES6 中的 const 命令,const 也是 ES6 中新增的一个命令。const 声明一个只读常量,一旦声明常量,就必须立即初始化。改变常量的值或者仅声明但不赋初始值都会报错。 const声明 const 声明一个只读的常量,一旦声明,常量的值就不能改变。实际上,不能改动的不是值,而是变量指向的那个内存地址所保存的数据不得改动。 示例: 使用 const 命令声明变量其实和 let 的使用方法差不多,例如声明一个常量 a: const a = 1; console.log(a); 常量原创 2020-10-09 11:51:28 · 177 阅读 · 0 评论 -
ES6 let命令
ES6 中新增了 let 命令,可以用于声明变量。下面我们就一起来看一下 let 命令的使用。 使用let声明变量 let 命令是 ES6 中新增的用于声明变量的一个命令,声明变量时的用法和 JavaScript 中的 var 类似。 示例: 例如下面我们使用 let 命令来声明变量: let a = 10; let b = 20; let c = 30; let 声明的变量只在代码块内有效 let 命令的使用虽然和 var 类似,但是两者还是有区别的,例如使用 let 声明的变量,只在 let 所在的代原创 2020-09-29 11:02:21 · 75 阅读 · 0 评论 -
ES6 配置运行环境
本节我们来学习配置 ES6 的 JavaScript 运行开发环境,通过 babel 把 ES6 转码为 ES5 。 选择一个编辑器 首先我们选择一个编辑器,然后在这个编辑器下配置 ES6 的 JavaScript 运行环境。这里我们选择 Visual Studio Code,当然也可以选择其他的编辑器,例如 WebStorm,大家可以根据自己的喜好选择。 如果我们要使用 Visual Studio Code,可以到官网下载,地址为:https://code.visualstudio.com/。大家根据需求原创 2020-09-27 10:29:06 · 561 阅读 · 0 评论 -
ES6 入门简介
本教程我们学习 ES6 的基础知识,ES6 是 ECMAScript6 的简称,是2015年6月正式发布的 JavaScript 语言的标准,正式命名为 ECMAScript 2015,它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只是实现了 ES6 的部分特性和功能。 EC原创 2020-09-24 11:11:19 · 119 阅读 · 1 评论