随笔分类 - ECMAScript_6
摘要:一、let、var和const 1、let不存在变量提升 2、let变量不能重复声明 var变量可以重复声明(后面声明的变量覆盖前面声明的变量,但最后不要这么做) 3、如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域,纵使在全局变量中声明了一个相同名字的
阅读全文
摘要:一、严格模式 1、严格模式的限制 变量必须声明后再使用 函数的参数不能有同名属性,否则报错 不能使用with语句 不能对只读属性赋值,否则报错 不能使用前缀0表示八进制数,否则报错 不能删除不可删除的属性,否则报错 不能删除变量delete prop,会报错,只能删除属性delete global[
阅读全文
摘要:一、语法 1、仅仅是语法上更像一些高级面向对象的语言(如Java) 本质上还是function对象 无法直接调用 需要创建实例 2、类的内部所有定义的方法,都是不可枚举的 //使用function是可枚举的 3、类的属性名可以采用表达式 4、constructor: 类的默认方法 如果没有显式定义,
阅读全文
摘要:一、概述 1、Promise是异步编程的一种解决方案 2、Promise对象代表一个异步操作,有三种状态: Pending(进行中) Resolved(已完成,又称Fulfilled) Rejected(已失败)。 3、一旦状态改变,就不会再变,任何时候都可以得到这个结果 4、可以将异步操作以同步操
阅读全文
摘要:一、概述 1、一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作 2、调用指针对象的next方法,就可以遍历事先给定的数据结构 3、每一次调用next方法,都会返回数据结构的当前成员的信息。具体来说,就是返回一个包含value和done两个
阅读全文
摘要:一、Generator概述 1、Generator函数是一个普通函数,但是有以下几个特征: function关键字与函数名之间有一个星号 //一般星号紧挨function关键字 函数体内部使用yield语句,定义不同的内部状态 //使用实例的next()方法可依次取得不同的状态 返回值是'遍历器对象
阅读全文
摘要:一、Set 1、Set本身是一个构造函数,用来生成Set数据结构。 2、Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。 3、向Set加入值的时候,不会发生类型转换,所以5和"5"是两个不同的值。Set内部判断两个值是否不同,使用的算法叫做“Same-value equality
阅读全文
摘要:一、Proxy 1、Proxy可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。 2、var proxy = new Proxy(target, handler); //target为目标对象 handler为拦
阅读全文
摘要:一、主要用途 1、感觉Symbol值很鸡肋的话,先去理清 '字符串'、'变量名'、'属性名'之间的关系 ;//变量名就是一个代号 主要是:Symbo值可以代替'字符串'成为属性名 2、保证每个属性是独一无二的,防止属性名冲突; 3、是函数Symbol()的返回值; 4、Symbol值可以显式转为字符
阅读全文
摘要:一、属性的简洁表示法 1、简写属性 2、简写方法 二、属性名表达式 1、ES6允许字面量定义对象时,用表达式作为对象的属性名,即把表达式放在方括号内。 测试代码如下: 2、表达式还可以用于定义方法名。 3、属性名表达式与简洁表示法,不能同时使用 三、方法的name属性 1、函数的name属性,返回函
阅读全文
摘要:一、参数默认值 1、基本用法 2、与解构默认值结合使用 3、参数默认值的位置 4、函数的length属性:指定了默认值以后,函数的length属性,将返回没有指定默认值的参数个数。也就是说,指定了默认值后,length属性将失真。 5、作用域 二、rest参数 1、ES6引入rest参数(形式为“.
阅读全文
摘要:一、Array.from() 1、用于将两类对象转为真正的数组,类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。 2、length属性一定要有 3、常见的类似数组的对象是DOM操作返回的NodeList集合,以及函数内
阅读全文
摘要:一、二进制和八进制表示法 1、ES6提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。 2、如果要将0b和0o前缀的字符串数值转为十进制,要使用Number方法。 二、Number.isFinite(), Number.isNaN() 1、用来检查Infinite和N
阅读全文
摘要:一、RegExp构造函数 1、允许使用正则表达式作为参数的同时允许第二个参数(第二个修饰符会覆盖第一个修饰符) 二、'u'修饰符 1、用来正确处理大于\uFFFF的Unicode字符。也就是说,会正确处理四个字节的UTF-16编码。 2、ES6新增了使用大括号表示Unicode字符,这种表示法在正则
阅读全文
摘要:一、对象的结构赋值 1、对象的解构赋值的内部机制 先找到同名属性,然后再赋给对应的变量。 真正被赋值的是后者,而不是前者。 2、解构赋值的规则 只要等号右边的值不是对象,就先将其转为(相应的包装)对象。 由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错。 先找到同名属性
阅读全文
摘要:一、字符的表示方法(以'z'为示例) 1、'z' 'z' //true 2、'\z' 'z' // true 3、'\172' 'z' // true 4、'\x7A' 'z' // true 5、'\u007A' 'z' // true 6、'\u{7A}' 'z' // true 二、字符串的遍
阅读全文

浙公网安备 33010602011771号