ES6
大前小白
哪有什么天才!
坚持做自己喜欢做的事情,这本身就是一种天赋。
展开
-
ES6 - 字符串与正则的扩展
1、字符串的扩展Unicode - \u0000 ~ \uFFFF '\{u0061}' // a '\uD842\uDfB7' "\u{20BB7}" // "原创 2019-08-19 10:16:21 · 92 阅读 · 0 评论 -
ES6新特性之Class
在JS里面,它实际上是没有类的概念的,我们如果想要实现一个面向对象的一个编程,那么我们只能够借助构造函数,但是构造函数有着自身的缺点,首先第一点它的写法不清晰,我们需要继承的话就需要手动的去操作prototype;其次它面向对象的思想也不是很强烈,所以在ES6它封装了一层构造函数的语法糖,就叫Class,封装后有了一个更清晰的写法,而且更加像一个面向对象编程语言。1:基本概念构造函数语法糖...原创 2019-09-09 09:45:36 · 216 阅读 · 0 评论 -
ES6新特性之Async
基本概念Async实际上是一个封装了自动化执行并返回一个Promise的Generator函数的语法糖。这句话的意思我们可以分为三个部分来解读:首先它有一个自动化执行,Generator函数是依靠不停的调用.net来依次执行的,Async有一个自动化执行的过程。第二个,它返回一个Promise,也就是说在Async函数里面我们拿到它的结果需要调用promise.then。Generato...原创 2019-09-06 09:51:20 · 115 阅读 · 0 评论 -
ES6新特性之Generator函数
1:基本概念实际上Generator就是遍历器的一个生成器,我们可以用Generator来生成一个遍历器。Generator有两个明显的特点:第一个是function关键字与函数名之间有一个星号,一般而言是将两者写在一起的。第二个是在函数体内部有一个yield的关键字。function* generator(){ yield 1; yield 2; return 3; ...原创 2019-09-03 09:51:38 · 152 阅读 · 0 评论 -
ES6 新特性之 Iterator
1:基本概念Iterator 迭代器是一种接口,为不同的数据结构提供统一的访问机制,这个访问机制主要是遍历,我们知道,在数组、在对象、在类数组、在map、在set里面,都可以用for of或者扩展运算符来得到一个数组或者是遍历当前的数据结构,为什么能够遍历的原因就是因为存在这个Iterator 迭代器这个东西,所以我们可以用for of来提供一个统一的遍历,因此这个底层或者是Itrator它最初...原创 2019-09-02 09:56:57 · 173 阅读 · 0 评论 -
ES6新特性之Promise
基本概念从字面意思上来看,Promise是承诺。它表示一个异步操作的最终状态(完成或失败),以及该异步操作的结果值。根据Pormise的执行结果可以拿到一个最终状态。 new Promise({ function(resolve,reject){ /* executor */ } });一般来讲,有三种状态:pend...原创 2019-08-30 09:54:56 · 83 阅读 · 0 评论 -
ES6 新特性之 Reflect
基本概念reflect是一个内置的对象,提供了拦截JavaScript操作的方法(主要作用)。它将部分属于语言内部的方法转移到reflect上去,比如defineProperty。优化了一部分函数的返回结果,它的风格上倾向于函数式编程,保留对象的默认行为(Proxy),没有构造函数,所有的属性方法都是静态的,类似Math。reflect和Proxy是一一对应的,所有Proxy可以拦截的属性,re...原创 2019-08-29 09:57:51 · 167 阅读 · 0 评论 -
ES6新特性之Proxy
基本概念字面意思的理解就是代理。用于定义基本操作的自定义行为,就是我们可以自定义某些行为,比如属性的查找,赋值,枚举,函数调用等。实际上我们利用这个Proxy实现对编程语言进行编程,就是把一些内部的方式,内置的方法改变了,这种编程就叫做语言编程。属性代理就做拦截。关于Proxy需要注意的地方有:Proxy内部的this关键字的指向是Proxy代理本身;它的构建方式需要借助一个Proxy的构...原创 2019-08-28 09:45:28 · 518 阅读 · 0 评论 -
Set 和 Map
Set1:基本概念类数组对象, 内部元素唯一 let set = new Set([1, 2, 3, 2, 1]); console.log(set); // Set(3){ 1, 2, 3 } [...set]; // [1, 2, 3] 接收数组或迭代器对象 let set = new Set(document.getElementsByName('di...原创 2019-08-27 09:46:20 · 54 阅读 · 0 评论 -
ES6新特征之Symbol
基本概念Symbol:表示独一无二的值,属于类字符串数据类型,本质上可以当字符串来用。基本用法Symbol是JavaScript的第七种数据类型,前六种分别是undefined、null、Boolean、String、NUmber、Objects、Symbol。// 1let symbol = Symbol();typeof symbol// symbol // 2 Symbol...原创 2019-08-26 10:17:16 · 105 阅读 · 0 评论 -
对象的扩展
对象的改变分为对象的扩展和对象的新增方法。对象的扩展和新增的方法都有哪些?1:属性的简洁表示法 //在ES6中的写法: const week = 'week'; const year = { week, hello() { console.log('我的名字是', this.name); } ...原创 2019-08-22 14:07:19 · 84 阅读 · 0 评论 -
变量扩展与解构
1、发展历史基本概念:ES6 是 ECMAScript6 的一个简称;1996年网景(Netscape)提交给国际标准组织(ECMA)的新语言,希望成为国际标准。第二年发布了Javascript并称为ECMAScript。为什么不叫JavaScript而是ECMAScript呢?有两个原因,一个是因为商标问题,JavaScript是只有网景公司才可以使用的商标;ECMA的国际标准,体现标准的制...原创 2019-08-16 09:45:32 · 150 阅读 · 0 评论 -
数值的扩展
ES6传达的一个比较重要的思想,一个是尽可能的减少全局的方法而把它移植到特定的对象上去,另一个是在一些判断的场景下,尽可能的减少隐式的转换使得得到的结果更为安全。1:二进制、八进制表示法 /* 0b(0B) 二进制*/ Number('0b111'); // 7 /* 0o(0O) 八进制*/ Number('0o10'); ...原创 2019-08-21 10:22:11 · 67 阅读 · 0 评论 -
数组的扩展
1:扩展运算符主要作用就是展开当前数组;一般应用于浅拷贝、合并数组、解构 console.log(1, ...[2, 3, 4], 5); // 1 2 3 4 5 ...[2, 3, 4] // VM71: 1 Uncaught SyntaxError: Unexpected token... [...[2, 3, 4]] ...原创 2019-08-20 09:58:57 · 142 阅读 · 0 评论 -
ES6新特性之Module
关于模块化,在之前有过AMD和CMD,require.js以及后面的sea.js,实际上都是借助于第三方的插件。那么在ES6里面它官方引入了模块化编程,它的不同之处在于:ES6的Module它的运行环境实际上是编译时的,也就是说在编译时它就会把所有的依赖导入导出,每一个模块有自己独立的命名空间,然后这些关系都明确了。1:基本概念编译时模块(module)体系2:export - 规定模块的...原创 2019-09-10 09:36:06 · 97 阅读 · 0 评论