ES6
落木千山、
一切都需要自己去生活、去经历、去磨炼。
展开
-
Proxy 支持的拦截操作-deleteProperty(target, propKey)
deleteProperty(target, propKey): 用于拦截delete操作。返回一个布尔值。该方法主要是拦截delete操作,并在deleteProperty执行真正想做的操作,同时对proxy的属性执行delete操作,若deleteProperty中不设置delete target[ket],则不会真正将该属性删除。 无法删除目标对象自身的不可配置(configurable)...原创 2019-11-05 14:03:31 · 1324 阅读 · 0 评论 -
Proxy 支持的拦截操作 -get -set -has
get(target, propKey,receiver)作用:拦截某个属性的读取操作,可以接受三个参数,依次为目标对象、属性名和 proxy 实例本身{ //这里target为{} const proxy = new Proxy({}, { //拦截对象的读取 get: function(target, property, receiver) { retu...原创 2019-11-04 15:22:54 · 665 阅读 · 0 评论 -
ES6-Proxy
定义:Proxy 对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)。语法:let p = new Proxy(target, handler);参数:target用Proxy包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。handler一个对象,其属性是当执行一个操作时定义代理的行为的函数。基础示例在以下简单的例子中,当对象中不...原创 2019-11-03 17:13:23 · 345 阅读 · 0 评论 -
ES6-解构赋值基本用法
定义:解构赋值语法是一种 Javascript 表达式。通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。数组解构赋值{ let a,b,rest; [a,b]=[1,2]; console.log(a,b); //1 2}//块级作用域分隔开{ let a,b,rest; [a,b,...rest]=[1,2,3,4,5,6]; consol...原创 2019-11-02 15:06:49 · 246 阅读 · 0 评论 -
ES6 Map数据类型
定义:Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。语法:new Map([iterable]);参数:iterableIterable 可以是一个数组或者其他 iterable 对象,其元素为键值对(两个元素的数组,例如: [[ 1, ‘one’ ],[ 2, ‘two’ ]])。 每个键值对都会添加到新的 Map。null 会被当做 undefined...原创 2019-11-01 20:23:40 · 587 阅读 · 0 评论 -
ES6 Set 数据类型
定义:Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。语法:new Set([iterable]);参数:iterable如果传递一个可迭代对象,它的所有元素将不重复地被添加到新的 Set中。如果不指定此参数或其值为null,则新的 Set为空。返回值一个新的Set对象。set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 ...原创 2019-10-31 22:04:46 · 228 阅读 · 0 评论 -
Decorators(修饰器)
定义:Decorator修饰器是一个函数用来修改类的行为:修饰器是一个函数修改行为修改类的行为(修饰器只在类的范围类有用)在使用Decorators之前,需要使用命令行安装一个包,在命令行输入npm install babel-plugin-transform-decorators-legacy --save-dev然后在.babelrc文件中设置 “plugins”: [“t...原创 2019-10-30 17:18:43 · 1812 阅读 · 0 评论 -
ES6-Generator(生成器)
概念:generator(生成器)是ES6标准引入的新的数据类型。一个generator看上去像一个函数,但可以返回多次ES6提供的解决异步编程的方案之一Generator函数是一个状态机, 内部封装了不同状态的数据用来生成遍历器对象可暂停函数(惰性求值), yield可暂停, next方法可启动。 每次返回的是yield后的表达式结果特点:function 与函数名之间有一个...原创 2019-10-29 14:00:22 · 333 阅读 · 1 评论 -
ES6 Symbol.iterator迭代器
定义:Symbol.iterator 为每一个对象定义了默认的迭代器。该迭代器可以被 for…of 循环使用。描述:当需要对一个对象进行迭代时(比如开始用于一个for…of循环中),它的@@iterator方法都会在不传参情况下被调用,返回的迭代器用于获取要迭代的值。一些内置类型拥有默认的迭代器行为,其他类型(如 Object)则没有。下表中的内置类型拥有默认的@@iterator方法:...原创 2019-10-28 11:39:11 · 1622 阅读 · 0 评论 -
认识ES6中的let和const
let和var的区别function test(){ for (let i=1;i<3;i++) {//使用let涉及块级作用域,以大括号{}内的为一个块 console.log(i); } console.log(i);//使用let定义变量会报错,在块之外引用为声明的变量}test();运行结果:function test(){ for (var i...原创 2019-10-27 12:52:44 · 182 阅读 · 0 评论 -
浅谈ES6 - Promise
概念:Promise 对象用于表示一个异步操作的最终完成 (或失败), 及其结果值。语法:new Promise( function(resolve, reject) {...} /* executor */ );参数:executorexecutor是带有 resolve 和 reject 两个参数的函数 。Promise构造函数执行时立即调用executor 函数, resolv...原创 2019-10-26 14:22:42 · 305 阅读 · 0 评论 -
ES6 类class
定义类:类实际上是个“特殊的函数”,就像你能够定义的函数表达式和函数声明一样,类语法有两个组成部分:类表达式和类声明。类声明定义一个类的一种方法是使用一个类声明。要声明一个类,你可以使用带有class关键字的类名{ //基本定义和生成实例 class Parent{ //构造函数 constructor(name='mukwwang'){ this.nam...原创 2019-10-25 21:40:37 · 131 阅读 · 0 评论 -
proxy handler.construct(target, args)
作用:拦截 Proxy 实例作为构造函数调用的操作,比如new proxy(…args)。拦截:该拦截器可以拦截以下操作:1. new proxy(…args)2. Reflect.construct()注意:construct方法返回的必须是一个对象,否则会报错。同时拦截对象target也必须是一个可以被new的对象。实例1//construct(target, args)/*拦...原创 2019-10-24 11:50:18 · 275 阅读 · 0 评论 -
proxy - handler.apply(target, object, args)方法用于拦截函数的调用
proxy - handler.apply(target, object, args)方法用于拦截函数的调用文章目录proxy - handler.apply(target, object, args)方法用于拦截函数的调用1.什么是apply(target, object, args)?2.语法3.下面是两个实例和我通过上机后对其的理解最近因为在学ES6,除了看视频之外还阅读了网上许多优秀的...原创 2019-10-23 14:45:54 · 867 阅读 · 0 评论