ECMAScript 6
ECMAScript 6 学习笔记。
丑基地
好学若饥,谦卑若愚。
展开
-
ECMAScript 6 之Class的继承
目录1.ES5的继承让一个构造函数继承另一个构造函数,是常见的需求。ES5 是通过修改原型链实现继承,ES6中Class 可以通过extends关键字实现继承,这比 ES5 的方法要方便很多。1.ES5的继承在ES5中实现继承,分两步:在子类的构造函数中调用父类的构造函数;让子类的原型指向父类的原型。下面是一个具体的例子:function A(X, Y) { this.x = x; this.y = y;}A.pr...原创 2020-05-27 11:50:57 · 173 阅读 · 0 评论 -
ECMAScript 6 之Class
目录1. 概述1.1 constructor 方法1.2 类的实例1.3 取值函数与存值函数1.4 属性表达式1.5 Class 表达式1.6 Class 注意事项1. 概述ES6之前,生成实例对象的方法是通过构造函数。function Person(name, sex, age) { this.name = name; this.sex = sex; this.age = age;}Person.prototype.toString = function() { console.inf原创 2020-05-16 11:08:31 · 363 阅读 · 0 评论 -
ECMAScript 6 之Module
目录1. 概述2. 严格模式3. export 命令4. import 命令5. export default 命令6. export 与 import 的复合写法1. 概述ES6 之前,模块加载方案主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了模块功能,ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。2. 严格模式ES6中模块自动采用严格模式,关于严格模式,请参考:严格模式。3. e原创 2020-05-14 17:14:10 · 159 阅读 · 0 评论 -
ECMAScript 6 之Iterator 和 for...of 循环
目录1. 概述2. 默认 Iterator 接口1. 概述遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作。遍历器的作用主要有两个:为各种数据结构,提供一个统一的、简便的访问接口,使得数据结构的成员能够按某种次序排列。供for...of循环调用。Iterator 的遍历过程是这样的:创...原创 2020-04-02 23:40:28 · 125 阅读 · 0 评论 -
ECMAScript 6 之Promise 对象
目录1. 概述2. 基本用法3. Promise 对象实例方法1. 概述Promise 是异步编程的一种解决方案。ES6 原生提供了Promise对象。Promise 对象是一个代理对象,被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法。一个Promise有以下几种状态:pending:初始状态fulfilled:操作成功rej...原创 2020-04-01 23:44:16 · 138 阅读 · 0 评论 -
ECMAScript 6 之Reflect
目录1. 概述2. Reflect对象静态方法2.1 Reflect.get()1. 概述Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect不是一个函数对象,它是不可构造的,而且Reflect的所有属性和方法都是静态的。Reflect对象的设计目的有这样几个:将Object对象的一些明显属于语言内部的方法,放到Reflect对象上修改...原创 2020-03-28 19:49:34 · 347 阅读 · 0 评论 -
ECMAScript 6之Proxy
目录原创 2020-03-26 16:35:25 · 767 阅读 · 0 评论 -
ECMAScript 6之Set 和 Map 数据结构
目录1.Set1.1 Set 实例的属性和方法1.SetES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构。let s = new Set();typeof s; // "object"Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。// 接...原创 2020-03-22 20:39:34 · 228 阅读 · 0 评论 -
ECMAScript 6之Symbol
目录1. 概述2. Symbol.prototype.description3. Symbol值作为属性名4. 属性名的遍历5. Symbol.for()6. Symbol.keyFor()7. 参考链接1. 概述ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值、字符串、数值、对象...原创 2020-03-19 22:17:10 · 137 阅读 · 0 评论 -
ECMAScript 6之对象的扩展
ECMAScript 6之对象的扩展1. 属性的简洁表示法ES6 允许在大括号({})里面,直接写入变量和函数,作为对象的属性和方法。const name = "jidi";const age = 22;let person = {name, age};// 等价于let person = {name: name, age: age}person; // {name: "ji...原创 2020-03-18 17:14:47 · 372 阅读 · 0 评论 -
ECMAScript 6之数组的扩展
ECMAScript 6之数组的扩展1. 扩展运算符扩展运算符(...),将一个数组转为用逗号分隔的参数序列。let x = [1, 2, 3, 4, 5, 6];console.info(...x); // 1 2 3 4 5 6扩展运算符主要用于函数的调用。function add(x, y) { return x + y;}let a = [1, 2];add(......原创 2020-03-04 09:15:01 · 204 阅读 · 0 评论 -
ECMAScript6之函数的扩展
ECMAScript6之函数的扩展1. 函数参数的默认值ES6之前为函数参数设置默认值,需要使用变通的方法才能实现。function add(x, y) { x = x || 1; y = y || 2; return x+y; }// 使用参数默认值参与运算add(); // 3add(2); // 4ES6 允许为函数的参数设置默认值,可以直接写在参数定义的后面。f...原创 2020-02-28 11:55:20 · 246 阅读 · 0 评论 -
ECMAScript 6之数值的扩展
ECMAScript 6之数值的扩展ECMAScript 6对于数值,进行了一定的扩展,下面会进行介绍。1. 二进制和八进制的表示ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。// 数值转为二进制字符(369).toString(2); // "101110001"// 数值转为八进制字符369..toString(8); // "561"...原创 2020-02-26 11:58:25 · 397 阅读 · 0 评论 -
ECMAScript 6之字符串的扩展
ECMAScript 6之字符串的扩展ECMAScript 6对字符串进行了许多增强与改造,下面会逐个介绍。1. 字符的 Unicode 表示法ES6 加强了对 Unicode 的支持,允许采用\uxxxx形式表示一个码点在\u0000~\uFFFF之间的字符,其中xxxx表示字符的 Unicode 码点。'\u0061'; // 'a''\u0062'; // 'b'对于Unico...原创 2020-02-24 16:51:03 · 203 阅读 · 0 评论 -
ECMAScript 6之变量的解构赋值
变量的解构赋值ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。1. 数组的解构赋值以前为变量赋值,只能直接指定值。// 直接指定值let a = 1;let b = 2;let c = 3;ES6 允许通过解构进行赋值。let [a, b, c] = [1, 2, 3];a; // 1b; // 2c; // 3上面代码中,a,b,c三...原创 2020-02-23 18:35:28 · 188 阅读 · 0 评论 -
ECMAScript 6之let 和 const 命令
let 和 const 命令ES6 新增了let命令与const命令,用来声明变量。1. let命令let命令,用来声明变量。它所声明的变量,只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a; // ReferenceError: a is not defined.b; // 1let命令声明的变量,不会出现"变量提升"现象。//...原创 2020-02-21 12:30:24 · 144 阅读 · 1 评论