![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ECMAScript6
蓋亞光
积跬步以至千里
展开
-
ECMAScript学习笔记-Proxy
一、概念 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。 ES6 原生提供 Proxy 构造函数,用来生成 Proxy 实例。 Proxy 对象的所有用法,都是上面这种形式,不同的只是handler参数的写法。其中,new Proxy()表示生成一个Proxy实例,target参数表示所要拦原创 2018-03-07 14:09:02 · 348 阅读 · 0 评论 -
ECMAScript6学习笔记-Symbol
1.ES6引入了一种原始数据类型Symbol,表示独一无二的值。其它6中数据类型是:undefined,null,数值(Number),字符串(String),对象(Object),布尔(Boolean)。 Symbol 值通过Symbol函数生成。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。let s = Symbol();typeof s// "s原创 2018-03-06 14:56:05 · 233 阅读 · 0 评论 -
ECMAScript6学习笔记-对象扩展
1.ES6 允许直接写入变量和函数,作为对象的属性和方法。const foo = 'bar';const baz = {foo};baz // {foo: "bar"}// 等同于const baz = {foo: foo};ES6 允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。function f(x, y) { return {x, y};}// 等同于fun原创 2018-03-05 16:44:55 · 273 阅读 · 0 评论 -
ECMAScript6学习笔记-数组扩展
1.扩展运算符 扩展运算符是三个点,将一个数组转为用逗号分割的参数序列。console.log(...[1, 2, 3])// 1 2 3console.log(1, ...[2, 3, 4], 5)// 1 2 3 4 5[...document.querySelectorAll('div')]// [<div>, <div>, <div>]主要用于函数调用function add(x,原创 2018-03-05 11:41:49 · 1513 阅读 · 0 评论 -
ECMAScript6学习笔记-解构赋值
一、数组解析赋值 1.ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。let [a,b,c]=[1,2,3];a;//1b;//2c;//32.模式匹配,只要等式两边的模式相同,左边的变量就会被赋予对应的值。let [a,[b],[[c]]]=[1,[2],[[3]]];a;//1b;//2c;//3let [,a,,b,c]=[1,2,...原创 2018-02-24 17:06:27 · 234 阅读 · 0 评论 -
ECMAScript6学习笔记-let,const命令
1.let命令,用于声明变量,用法类似与var命令,但是所声明的变量,只在let命令所在的代码块有效。{ var a=1;//var命令声明赋值一个变量 let b=2;//let命令声明赋值一个变量}a //1b //ReferenceError:b is not defined2.let命令不存在变量提升,即变量必须在声明之后才可以使用,否则会报错。var命令在声明之前也可原创 2018-02-24 11:48:15 · 248 阅读 · 0 评论 -
ECMAScript6学习笔记-函数扩展
1.函数参数默认值function func(a,b="world"){ console.log(a+" "+b);}func("hello");//hello worldfunc("hello","china");//hello chinafunc();//undefined world2.参数默认值是惰性求职,每次调用都会重新计算表达式的值。let x = 99;functio原创 2018-03-02 17:32:49 · 277 阅读 · 0 评论 -
ECMAScript6学习笔记-Generator
一、Generator函数概念Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态。执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历 Generator 函数内部的每一个状态。形式上,Generator 函数是一个普通函数原创 2018-03-09 14:10:29 · 276 阅读 · 0 评论 -
ECMAScript6学习笔记-字符串扩展
1.字符的Unicode表示法 JavaScript允许采用\uxxxx表示一个字符,xxxx是这个字符的Unicode码。"\u0061"//"a"这种表示法只能表示\u0000~\uFFFF之间的字符, 超出这个范围的字符必须用双字节的形式表示。"\uD842\uDFB7"// "��""\u20BB7"// " 7"上面代码中,如果直接在\u后面加超过0xFFFF的数值(20BB7),J原创 2018-03-01 16:10:56 · 407 阅读 · 0 评论 -
ECMAScript6学习笔记-Iterator,for...of
一、Iterator(遍历器)概念遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。Iterator 的作用有三个:一是为各种数据结构,提供一个统一的、简便的访问接口;二是使得数据结构的成员能够按某种次序排列;三是 ES6 创造了一种新的遍历命令for…原创 2018-03-09 10:59:31 · 313 阅读 · 0 评论 -
ECMAScript6学习笔记-Promise
一、含义 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。 Promise对象有以下两个特点。(1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、f原创 2018-03-08 15:16:15 · 334 阅读 · 0 评论 -
ECMAScript6学习笔记-Reflect
一、概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。 1.将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对象上部署,未来的新方法将只部署在Reflect对象上。也就是说,从Reflect原创 2018-03-07 14:57:10 · 450 阅读 · 0 评论 -
ECMAScript6学习笔记-Set,Map
1.ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 5 4Set 函数可以接受一个数原创 2018-03-06 17:45:55 · 230 阅读 · 0 评论