随笔分类 - ES6
参考阮一峰大佬的《ECMAScript6入门》记的笔记
    
摘要:async就是Generator函数的语法糖 将 Generator 函数的星号(*)替换成async,将yield替换成await const gen = function* () { const f1 = yield readFile('/etc/fstab'); const f2 = yiel
        阅读全文
                
摘要:基本概念 是一种异步编程解决方案,可以理解Generator函数是一个状态机,封装了多个内部状态。执行Generator函数会返回一个遍历器对象,可以一次遍历Generator函数内部的每一个状态。 function* helloWorldGenerator() { yield 'hello'; y
        阅读全文
                
摘要:以前采取构造函数+原型创建类 function Point(x, y) { } Point.prototype.fn = function () { } let p = new Point(1,2) ES6使用class声明类 定义类的方法不用function关键字,方法之间不用逗号分隔 类内部采取
        阅读全文
                
摘要:Iterator遍历器 数据集合:Array、Object、Map、Set Iterator 的作用有三个: 为各种数据结构,提供一个统一的、简便的访问接口; 使得数据结构的成员能够按某种次序排列; ES6 创造了一种新的遍历命令for...of循环,Iterator 接口主要供for...of消费
        阅读全文
                
摘要:Reflect 把Object对象上上属于语言内部的方法放到Reflect对象上 让返回结果更合理。Object.defineProperty(obj, name, desc)在无法定义属性时,会抛出一个错误,而Reflect.defineProperty(obj, name, desc)则会返回f
        阅读全文
                
摘要:Proxy代理器 Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访
        阅读全文
                
摘要:概念 正则表达式是由一个字符序列形成的搜索模式。 语法 /正则表达式主体/修饰符(可选) let regex= /xyz/i let regex= new RegExp(/xyz/i) let regex= new RegExp('xyz','i') 修饰符 g:执行全局匹配 i:执行对大小写不敏感
        阅读全文
                
摘要:概述 ES6之前JS没有模块系统,社区方案有CommonJS(用于服务器)和AMD(用于浏览器) // CommonJS模块,运行时加载,只有运行时才能得到这个对象,导致完全无法在编译时做静态优化 let fs = require('fs'); ES6模块的设计思想是尽量静态化,使得编译时就能确定模
        阅读全文
                
摘要:含义 Promise是异步编程的一种解决方案。简单来说是一个容器,里面保存着某个未来才会结束的事件的结果(通常是一个异步操作)。 特点: 状态不受外界影响。三种状态:pending(进行中),fulfilled(已成功)和rejected(已失败)。只有异步操作的结果可以决定当前的状态,其他任何其他
        阅读全文
                
摘要:1.set 类似于数据,但是成员的值都是唯一的,没有重复的值 const s=new Set(arr) 去除数组重复元素 (Array.from可以将Set解构转为数组) [...new Set(array)] Array.from(set) 去除字符串中的重组字符 [...new set('aba
        阅读全文
                
摘要:1.概述 你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。 let s = Symbol(); typeof s //symbol let s1 = Symbol('foo') s1 //Symbol(foo) s1.toStri
        阅读全文
                
摘要:Object.setPrototypeOf(obj, proto) Object.getPrototypeOf(obj) Object.getOwnPropertyDescriptor(obj,property) 获取该属性的描述对象。描述对象的enumerable属性,称为“可枚举性”,如果该属性
        阅读全文
                
摘要:扩展运算符 console.log(...[1, 2, 3]) // 1 2 3 运用 1.替代函数的apply方法 function f(x,y,z){} let args=[1,2,3] f.apply(null,args) f(...args) Math.max(...args) arr.pu
        阅读全文
                
摘要:1.参数默认值 ES6之前变通的方法为,如果参数y赋值而其转换布尔值为false,则该赋值不起作用。为了避免这个问题还要先typeof判断参数y是否被赋值,即严格意义上的为undefined function log(x, y) { y = y || 'World'; } ES6参数默认值的办法 f
        阅读全文
                
摘要:num表示实例,Number表示构造函数 Number num.constructor:返回其构造函数 num.prototype:可为原型添加方法和属性 num.toString(radix):把数字转换为字符串,使用指定的基数,默认10。radix为2,即将num转为二进制 let b = 2 
        阅读全文
                
摘要:列出了字符串的扩展和新增方法,老的方法也全部列出方便使用。下文中str表示实例 增强对Unicode支持,以前只限于"\u0000"~"\uFFFF",超出该范围可用"\u{20BB7}"表示。tip:Unicode,统一码,为每种语言每个字符设定了统一且唯一的二进制编码。 js字符串中U+005C
        阅读全文
                
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号