随笔分类 - es6
摘要:这些是新加的集合类型,提供了更加方便的获取属性值的方法,不用像以前一样用hasOwnProperty来检查某个属性是属于原型链上的呢还是当前对象的。同时,在进行属性值添加与获取时有专门的get,set 方法。 // Sets var s = new Set(); s.add("hello").add
阅读全文
摘要:生成器函数使用function*声明。 在生成器函数内部,有一种类似return的语法:关键字yield。二者的区别是,普通函数只可以return一次,而生成器函数可以yield多次(当然也可以只yield一次)。在生成器的执行过程中,遇到yield表达式立即暂停,后续可恢复执行状态。 1、next
阅读全文
摘要:箭头函数,通过 => 语法实现的函数简写形式,C#/JAVA8/CoffeeScript 中都有类似语法。与函数不同,箭头函数与其执行下文环境共享同一个 this。如果一个箭头函数出现在一个函数对象内部,它会与这个函数共享 arguments 变量。 箭头表达式用来声明匿名函数,消除传统匿名函数的t
阅读全文
摘要:proxy在语言层面去操作一个对象 现在要做到user.fullName就让它去显示。 proxy接收2个参数,第一个是对象{},第二个也是个{}。 此时没有对传入get方法中的prop做判断。所以哪怕输入一个user.age也会输出:Bob Wood 所以做一个判断,如果prop是full_nam
阅读全文
摘要:es6在string number boolean null undefined object之外又新增了一种Symbol类型。 Symbol意思是符号,有一个特性—每次创建一个Symbol值都是不一样的。 symbol是程序创建并且可以用作属性键的值,并且它能避免命名冲突的风险。 用处:赋值对象的
阅读全文
摘要:模板字符串 提供构造字符串的语法糖,在 Prel/python 等语言中也都有类似特性。 1、反引号模板,可以换行 2、反引号模板,可以嵌套 用+``来嵌套 好处:语法更加简洁 其它例子 // Basic literal string creation `This is a pretty littl
阅读全文
摘要:es6新增了4个字符串处理的方法:startsWith,endsWith,includes,repeat。 1、简单使用 includes()返回布尔值,表示是否找到了参数字符串 startsWith()返回布尔值,表示参数字符串是否在源字符串的头部 endsWith()返回布尔值,表示参数字符串是
阅读全文
摘要:一、let 1、let块作用域 2、let常用于for循环 3、typeof不再是一个百分之百安全的操作 typeof运行时y尚未声明,所以报错。 4、隐蔽的暂时性死区 5、不允许重复声明 不能在函数内重复声明参数 二、const 1、const声明的变量也是块作用域,但是不能被多次修改 2、con
阅读全文
摘要:解构赋值本质上是“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。 解构规则:只要等号右边的值不少对象,就先将其转为对象。 一、数组的解构赋值 数组解构赋值,索引很重要,即顺序很重要。 原理:等号右边数据结构要有Iterator接口,比如数组,Set。【update20170605
阅读全文