ES6学习
霸气灬剑意
这个作者很懒,什么都没留下…
展开
-
ES6学习-Generator
Generator // function* fnc() { // console.log('hello'); // return 111 // } // const res=fnc() // console.log(res);//Object [Generator] {} // console.log(res.next());//hello { value: 111, done: true }类似迭代器 // function* fnc() {//生成器函数会自动返回一个生成器对象 //原创 2021-04-16 23:35:23 · 79 阅读 · 0 评论 -
ES6学习-for...of 循环+iterator
for…of 循环+iterator //数组对象遍历,打印值 // const arr=[1,2,3,4] // for(let i of arr){ // console.log(i); // if(i>2){//可以随时终止循环,forEach就不能 // break; // } // } //set对象遍历,打印值 // const s=new Set(arr) // for(let i of s){ // console.log(i); /原创 2021-04-16 23:17:13 · 128 阅读 · 0 评论 -
ES6学习-Symbol
Symbol const s = Symbol() console.log(s); console.log(typeof s); console.log(Symbol() === Symbol());//false 表明每个symbol都是独一无二的 console.log(Symbol('111'));//symbol允许我们传入一个字符串,作为这个symbol的描述文本 const obj = {}//ES6后对象的属性名可以是字符串或者symbol obj[Symbol()] = '123' o原创 2021-04-16 22:20:41 · 53 阅读 · 0 评论 -
ES6学习-Map
Map //Map // const obj={}//分别以布尔值,数字和对象创建属性并赋值 // obj[true]='val1' // obj[123]='val2' // obj[{xx:1}]='val3' // console.log(Object.keys(obj));//属性值都变成了字符串 // console.log(obj[{}]);//这样也能获取到val3 const m=new Map()//Map才是严格意义上的键值对集合,可以用来映射两个任意数据类型之间的对应关系 co原创 2021-04-16 21:52:16 · 52 阅读 · 0 评论 -
ES6学习-Set
Set const s = new Set() s.add(1).add(2).add(3)//add方法返回set本身,所以可以链式调用,若重复添加相同的值,则会被忽略 console.log(s); s.forEach(i => console.log(i)) console.log(s.size); console.log(s.has(100)); console.log(s.delete(3)); s.clear()//清空 console.log(s); const arr =原创 2021-04-16 21:38:03 · 43 阅读 · 0 评论 -
ES6学习-extends
extends class Person { constructor(name) {//构造函数 this.name = name } say() { console.log(`hi,my name is ${this.name}`); } } class student extends Person{ constructor(name,number){ super(name)//始终指向父类,调用super即调用父原创 2021-04-16 21:17:38 · 58 阅读 · 0 评论 -
ES6学习-class
class //class 关键词 //ES6之前 // function Person(name){ // this.name=name; // } // Person.prototype.say=function(){ // console.log(`hi,my name is ${this.name}`); // } // let person1=new Person('xm') // person1.say() //ES6以后 class Person { const原创 2021-04-16 19:59:22 · 52 阅读 · 0 评论 -
ES6学习-Reflect
Reflect // const obj={ // name:'xm', // age:18 // } // const proxy =new Proxy(obj,{ // get(target,property){ // return Reflect.get(target,property) // } // })//如果不定义get方法,默认执行的get就和上面的方法一样 // console.log(proxy.name); const obj ={原创 2021-04-15 22:19:29 · 128 阅读 · 0 评论 -
ES6学习-Proxy
Proxy const person = { name: 'xm', age: 18 } const personProxy = new Proxy(person, { get(target, property) {//target代理目标对象,property目标属性名称 return property in target ? target[property] : 'default'//访问存在的属性就返回,不存在的就返回default //con原创 2021-04-15 22:05:55 · 46 阅读 · 0 评论 -
ES6学习-Object.assign方法
Object.assign方法 // const target={ // a:123, // b:456 // } // const tem={ // a:321, // c:789 // } // const result=Object.assign(target,tem)//assign方法,用后面对象的属性覆盖第一个对象的属性,可以传入多个对象 // console.log(result); // const obj={name:'xm'} // function原创 2021-04-15 21:26:48 · 91 阅读 · 0 评论 -
ES6学习-对象字面量
对象字面量 const age = 18 const obj = { name: 'xm', // age:age age,//变量名与属性名一致的话就能略写 //method:function(){}, method() { },//省略掉function //Math.random():123//不允许 [Math.random()]:123//ES6后使用[]内可以使用任意的表达式,表达式结果将作为属性名 } obj[Math.random(原创 2021-04-14 22:22:16 · 94 阅读 · 0 评论 -
ES6学习-箭头函数
箭头函数 const fnc = (n, m) => { console.log(m); return n + 1; } console.log(fnc(1,2)); const arr=[1,2,3,4,5,6,7] //普通定义一个方法 const arr1=arr.filter(function(item){ return item%2 }) console.log(arr1); //箭头函数 const arr2=arr.filter(i=>i%2) conso原创 2021-04-14 22:08:48 · 71 阅读 · 0 评论 -
ES6学习-字符串的扩展方法
字符串的扩展方法 const msg='hello,ES6!' console.log( msg.startsWith('hello'),//startWith,是否以hello开头,返回true msg.endsWith('!'),//endsWith,是否以!结尾,返回true msg.includes('ES')//includes,字符串中是否包含ES,返回true ); ...原创 2021-04-14 21:49:06 · 55 阅读 · 0 评论 -
ES6学习-展开数组参数
展开数组参数 const arr=['1','2','3'] console.log( arr[0], arr[1], arr[2], );//最笨的办法,参数不定时就不行了 console.log.apply(console,arr);//console的apply方法,将参数当做数组接收 console.log(...arr);//ES6展开数组 ...原创 2021-04-14 21:48:19 · 137 阅读 · 0 评论 -
ES6学习-数组的解构
数组的解构 const arr = [100, 200, 300] //const [foo,bar,baz]=arr//[]中放的是我们所需要提取出来的变量名,内部就会对应分配数值 //console.log(foo,bar,baz); //const [ , ,baz]=arr//保留逗号确保解构位置的正确 //console.log(baz); //const [foo,...rest]=arr //console.log(rest);//...表示提取从当前位置开始往后的所有成员,会以数组的形式返原创 2021-04-14 21:47:22 · 250 阅读 · 0 评论 -
ES6学习-剩余参数
剩余参数 // function fnc(){ // console.log(arguments);//arguments类数组打印个数不定的参数 // } function fnc(...args){ console.log(args);//通过在函数形参前加上...,这个形参就会以数组的形式接收从当前这个参数位置往后所有的形参,只能在最后一位并且只能使用一次 } fnc(1,2,3) ...原创 2021-04-14 21:44:07 · 42 阅读 · 0 评论 -
ES6学习-模板字符串
模板字符串 // const str='hello ES6' // const str=`hello ES6` // console.log(str);//正常使用就和普通字符串一样 // const str=`hello // ES6` // console.log(str);//支持换行输出,不需要\n // const name='tom' // const msg=`hey,${name},${1+2},${Math.random()}` // console.log(msg);//可以通过$原创 2021-04-14 21:42:53 · 64 阅读 · 0 评论 -
ES6学习-对象解构
对象解构 const obj={name:'xm',age:18} // const {name}=obj//提取obj对象中的name属性值 // console.log(name); // const name='tom' // const {name}=obj//相同变量命名会报错 // console.log(name); // const {name:objname='111'}=obj // console.log(objname);//支持重命名和设置默认值,在没有对应值的时候返回默认值原创 2021-04-14 21:41:17 · 71 阅读 · 0 评论 -
ES6学习-参数默认值
参数默认值 // function fnc(x){ // //x=x||true//通过逻辑判断为参数x添加默认值,但这样传入false也会使用默认值 // x=x===undefined?true:x // console.log(x); // } //可以直接设置参数的默认值为true,但必须是参数列表的最后(如果有多个参数的话) function fnc(x=true){ console.log(x); } fnc() ...原创 2021-04-14 21:39:00 · 90 阅读 · 0 评论