码迷,mamicode.com
首页 > 其他好文 > 详细

第二季第十天 es6新特性新特性

时间:2019-10-27 13:11:29      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:HERE   style   key   includes   方法   method   mit   数据   定义   

1.set的应用(去重)js标准内置对象

适用范围:String,Array(数字基本数据类型不可以)

set的方法:例子 var s = new Set(data)

  • 增加:  s.add(data)    和Array.push()一样
  • 长度: s.size    和Array.length一样
  • 删除: s.delete(data)
  • 判断: s.has(data) 和Array.includes()一样

作用:去重,并且返回一个set特定的数据格式

 

转化格式:set和nodeList(queryselectorAll)都是看起来像数组的数据

var a = Array.from(data) 可以将其转化为真正的数组(此方法可以把类数组转化为数组,浅拷贝)


 

2.let与const

  • let与const都只能声明一个变量一次(不能重复声明)
  • let和const的作用域只在花括号内(块级作用域)
for (let i = 0; i < 3; i++) { log(i) } log(i) // 结果是 undefined

 

  • const声明一个不可被赋值的变量(声明一个不希望被任何人修改的变量)
const a = 3
a = 4 // 报错  不能被修改

let a = 3 
a = 4 //不报错

3.js标准内置对象Map

定义Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。

区别:和Object的区别就是它的key不必必须是字符串。可以是任何值

方法:var a = new Map()

  • 增加 s.set("name", "zhang")  和object.name = "zhang"一样
  • 拿到值  s.get("name")  和object.name一样

 

4.扩展符号(...传参数) 5数组解包

var a = [1, 2, 3]
log(...a)
// 1 2 3  可以把数组解开成单独元素


// 一行代码 多个赋值
var [a, b] = [1, 2]
// 一行代码交换变量值
[a, b] = [b, a]

//数组解包加上扩展符号
 [a,...b] =[1,2,3,4,5] 

//传参用上扩展符号
function c(a, ...b) {}
c(1,2,3,4,4) 
//a = 1 b = [2,3,4,4]

6.对象解包

var obj = {name:"1",score:"2"}

var {name,score} = obj
//后面就可以访问到 name和score

对象增强模式

name = "zhang "
var a = {name}//当要赋值的key与外界的变量重名,可以省略velue值

7.默认参数值,可变参数传值

//传参用上扩展符号
function c(a, ...b) {}
c(1,2,3,4,4) 
//a = 1 b = [2,3,4,4]

8.箭头函数

(参数)=>{语句}

9.新增方法includes

10.新增遍历方式

第二季第十天 es6新特性新特性

标签:HERE   style   key   includes   方法   method   mit   数据   定义   

原文地址:https://www.cnblogs.com/-constructor/p/11747065.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!