![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
es6
jinfeng_yu
这个作者很懒,什么都没留下…
展开
-
ES6,20、Set 和 Map
Set先说说Set的基本用法// 可不传数组const set1 = new Set()set1.add(1)set1.add(2)console.log(set1) // Set(2) { 1, 2 }// 也可传数组const set2 = new Set([1, 2, 3])// 增加元素 使用 addset2.add(4)set2.add('大鱼')console.log(set2) // Set(5) { 1, 2, 3, 4, '大鱼' }// 是否含有某个元素 使用原创 2022-02-14 14:51:50 · 155 阅读 · 0 评论 -
ES6,19、for of 和 for in
for in :遍历方法,可遍历对象和数组for of :遍历方法,只能遍历数组,不能遍历对象先看for in:const obj = { name: '林三心', age: 22, gender: '男' }const arr = [1, 2, 3, 4, 5]for(let key in obj) { console.log(key)}nameagegenderfor(let index in arr) { console.log(index)}0 1 2 3 4原创 2022-02-14 13:56:41 · 287 阅读 · 0 评论 -
ES6,18、find和findIndex
find:找到被找元素,找不到,返回undefined;findIndex:找到返回被找元素的索引,找不到返回-1;const arr = [ {name:'老大',age:10}, {name:'老二',age:9}, {name:'老三',age:8}];const a = arr.find(({ name }) => name === '老二');const b = arr.findIndex(({ name }) => name === '老二');console.l原创 2022-02-03 11:13:05 · 1602 阅读 · 0 评论 -
ES6,17、解构赋值
解构赋值原创 2022-01-10 15:37:44 · 161 阅读 · 0 评论 -
ES6,16、class
以前我们使用构造函数生成对象,这么做function Person(name) { this.name = name}Person.prototype.sayName = function () { console.log(this.name)}const kobe = new Person('科比')kobe.sayName()//科比而有ES6的class可以这么做class Person { constructor(name) { //构造器 this.name = n原创 2021-11-23 11:16:22 · 369 阅读 · 0 评论 -
ES6,15、Promise
Promise,中文名为承诺,承诺在哪里呢,承诺在,一旦他的状态改变,就不会在改过来,这里介绍基本应用:成功状态:function requestData () { //模拟请求 return new Promise((resolve,reject) =>{ setTimeout(() =>{ resolve('大鱼') },1000) })}requestData().then(res =>{ console.log(res);//一秒后输出‘大鱼’},e原创 2021-11-22 16:54:27 · 584 阅读 · 0 评论 -
ES6,14、对象属性同名简写
以前的同名属性需要这样写const name = '大鱼';const age = 100;const obj = { name:name, age:age};console.log(obj) //{name:'大鱼',age:100}ES6新增语法,只需要这样写const name = '大鱼';const age = 100;const obj = { name, age};console.log(obj) //{name:'大鱼',age:100}...原创 2021-11-22 15:08:02 · 357 阅读 · 0 评论 -
ES6,13、Array.reduce
第一个参数callback函数:pre为上次return的值,next为数组的本次遍历的项第二个参数为初始值,也是第一个pre举两个例子//计算1+2+3+4+5const reduceArr = [1,2,3,4,5];const sum = reduceArr.reduce((pre,next) => { return pre + next},0)console.log(sum);//15//统计元素出现的个数const nameArr = ['大鱼','小鱼','虾米','大原创 2021-11-22 14:58:55 · 85 阅读 · 0 评论 -
ES6,12、 Array.every
every与some是相反的,some是只有一个就行,every是要所有的都为真才返回真const everyArr = [false,true,false,true,false]//三个参数,遍历项,索引,数组本身//配合箭头函数,需要所有的为真,才返回true,否则返回falseconst everyArr = everyArr.every((bol,index,arr) => bol)console.log(everyArr2)false...原创 2021-11-22 14:36:36 · 416 阅读 · 0 评论 -
ES6,11、Array.some
some,意思就是只要有一个是真的,那就返回真const filterArr = [false,true,false,true,false]//三个参数:遍历项,索引,数组本身//配合箭头函数,只要有一个true就返回true,一个true都没有就返回false;const someArr2 = someArr.some((bol,index,arr) => bol)console.log(someArr2);true...原创 2021-11-22 14:29:52 · 610 阅读 · 0 评论 -
ES6,10、Array.filter
顾名思义,用来过滤的方法const filterArr = [1,2,3,4,5]//三个参数:遍历项,索引,数组本身//配合箭头函数,返回大于3的集合const filterArr2 = filterArr.filter((num,index,arr) => num > 3)console.log(filterArr2)[4,5]...原创 2021-11-22 11:14:52 · 446 阅读 · 0 评论 -
ES6,9、Array.map
常用于返回一个处理过后的新的数组const mapArray = [1,2,3,4,5]//三个参数:遍历项,索引,数组本身//配合箭头函数,对每一个函数进行翻倍const mapArray = mapArr.map((mum,index,arr) =>a * num)console.log(mapArray2)[2,4,6,8,10]...原创 2021-11-22 10:53:33 · 1253 阅读 · 0 评论 -
ES6,8、Array.forEach
ES6新加的数组遍历方法const eachArr = [1,2,3,4,5]//三个参数:遍历项,索引,数组本身//配合箭头函数eachArr.forEach((itam,index,arr) =>{ console.log(item,index,arr)})1 0 [1,2,3,4,5]2 1 [1,2,3,4,5]3 2 [1,2,3,4,5]4 3 [1,2,3,4,5]5 4 [1,2,3,4,5]...原创 2021-11-22 10:27:10 · 178 阅读 · 0 评论 -
ES7,7、箭头函数
以前我们使用普通函数function fn () {}const fn = function () {}ES6新加了箭头函数const fn = () =>{}//如果只有一个参数,也可以省略括号const fn = name => {}//如果函数体里只有一句return const fn = name => { return 2*name}//可以简写为const fn =name => 2 * name//如果返回的是对象const fn =原创 2021-11-22 10:20:56 · 160 阅读 · 0 评论 -
ES6,6、Object.keys与Object.values
Object.keys:可用于获取对象的key的集合const obj = { name:'大鱼', age:100, gender:'男'}const keys = Object.keys(obj);const.log(keys) //['name','age','gender'];Object.values:可用于获取对象的key的集合const obj = { name:'大鱼', age:100, gender:'男'}const keys = Object.val原创 2021-11-19 17:29:48 · 223 阅读 · 0 评论 -
ES6,5、模板字符串
主要用于字符串的拼接曾经的拼接const name = '大鱼';const age = '100';console.log(name + '今年' + age + '岁了')//大鱼今年100岁了现在我们会这么做const name = '大鱼';const age = '100';console.log(`${name}今年${age}岁了`)//大鱼今年100岁了...原创 2021-11-15 09:38:38 · 294 阅读 · 0 评论 -
ES6,4、剩余参数
大家可能遇到过这种问题,一个函数,传入的参数个数是不固定的,这就可以用ES6的剩余参数function fn (name , ...params) { console.log(name) console.log(params)}fn('大鱼',1,2,3)//大鱼[1,2,3]原创 2021-11-15 09:32:34 · 365 阅读 · 0 评论 -
ES6,3、扩展运算符
1,可以更加优雅对数组进行拼接,原来的写法const a = [1,2,3];const b = [4,5,6];const c = a.concat(b);现在的写法const c = […a,…b];原创 2021-11-15 09:28:17 · 273 阅读 · 0 评论 -
ES6,2、默认参数
开发中你曾过遇到过这样的问题,如果参数穿不进来,你就设置默认参数function fn (name, age) { var name = name || '林三心' var age = age || 18 console.log(name, age)}fn() // 林三心 18但是这样写不够优雅,可以使用ES6的默认参数function fn (name = '林三心', age = 18) { console.log(name, age)}fn() // 林三心 18f原创 2021-09-24 17:29:06 · 38 阅读 · 0 评论 -
ES6, 1、let和const
let和const的出现,总感觉是为了开发的代码规范而出现的。我们要逐渐放弃使用var,在项目中多使用let和const,他们与var的区别在于:1,var有变量提升,有初始化提升,值是可变的,没有块级作用域的概念,如果想搞出来一个保护内部变量的方法,可以使用闭包。2,let有变量提升,没有初始化提升,值是可变的,存在块级作用域。3,const有变量提升,没有初始化提升,值是不可变的,但是如果定义的是对象,则属性可变,存在块级作用域。let和const因为暂时性死区的存在,使得没有初始化提升。暂时原创 2021-09-23 16:42:08 · 51 阅读 · 0 评论