ES6初识-Decorator】的更多相关文章

开始先按照个插件 npm install babel-plugin-transform-decorators-lagacy --save-dev 1.扩充和修改类的行为 2.修改的行为@readonly 在方法的前面进行标志 3.第三方哭修饰器js库,core-decorators; npm install core-decorators --save-dev…
//Decorator:修饰器,是一个函数用来修改类的行为 { //只读 let readonly=function(target,name,descriptor){ descriptor.writable=false; return descriptor; }; class Test{ @readonly time(){ return '2017-03-11' } } let test=new Test(); // test.time=function(){ // console.log('r…
//decorator //第三方库为:core-decorators //以下为代码实例 { //decorator //修饰器是一个函数 //是修改一个行为 //修改一个类的行为 console.log("decorator行为"); //只读属性,将time变为只读属性 let readonly=function(target,name,descriptor){ descriptor.writable=false; return descriptor } class Test{…
默认值 function test(x,y='world'){ console.log('默认值'); } function test2(...arg){ for(let v of arg){ console.log("rest",v); } } test2(1,2,3,4,5,'a');   箭头函数 let arrow =v=>v*2; console.log('arrow',arrow(3));//6 尾调用---性能优化的过程中,嵌套过多 function tail(x)…
数组解构赋值 [a,b]=[1,2]; . 方法返回 function f(){ return [1,2] } let a,b; [a,b]=f();//a=1,b=2   function f1(){ return [1,2,3,4,5] } let a,b; [a,b]=f();//a=1,b=2   [a,,...b]=f1();//a=1;b=[3,4,5]   对象解构赋值   {a,b=1}={a:1,b:2}        …
Symbol的概念 变量是独一无二的 let a1=Symbol(); let a2=Symbol(); a1和a2严格意义不相等 let a3=Symbol.for('a3'); let a4=Symbol.for('a3'); console.log(a3===a4);   如果在对象中使用Symbol变量,就可以用Object.getOwnPropertySymbols(obj).forEach(function(tiem){   })   or   Reflect.OwnKeys(obj…
Set的用法 元素不能重复--唯一性 WeakSet key值只能是对象 没有clear属性 Map let map=new Map([['a',123],['b',456]]);; WeakMap let o={}; weakmap.set(o,123); console.log(weakmap.get(o)); Map与Array的对比  …
{ let obj={ time:'2017-03-11', name:'net', _r:123 };   let monitor=new Proxy(obj,{ // 拦截对象属性的读取 get(target,key){ return target[key].replace('2017','2018') }, // 拦截对象设置属性 set(target,key,value){ if(key==='name'){ return target[key]=value; }else{ return…
{ //基本定义和生成实例 class Parent{ //构造函数 constructor(name='lisi'){ this.name=name; } //属性get,set get longName(){ return 'china'+this.name; } set longName(value){ this.name=value; }     } class Child extends Parent{ constructor(name='Child'){ super(name); t…
export let A=123; export function test(){ console.log('test'); } export class Hello(){ test(){ console.log('class'); } }     import (A,test,Hello) from './class/lesson' or import * as lesson from ''./class/lesson'     export 导出 import 导入   or other M…