文章目录 一、声明关键字 二、箭头函数 三、解构赋值 四、展开运算符 五、对字符的补充 六、Symbol 七、对象的简写语法 八、Set和Map 九、for-of
一、声明关键字
ES6新增的声明关键字: let
,const
:声明变量class
:声明类import
,export
:模块化开发 let
和const
的特点 不存在提升 不允许重复声明 全局不会绑定到window
块级作用域 暂时性死区 const
声明的变量不允许修改地址 使用规范:const
-> let
-> var
二、箭头函数
箭头函数的特点等同于无名函数 赋值式创建函数的值 作为参数,回调函数 作为返回值,闭包函数 作为事件处理函数,不推荐 作为匿名函数的函数体使用 语法: 完整语法:()=>{}
极简语法:=>
当有且只有一个参数时,可以省略小括号 当有且直接返回了数据时,可以省略花括号和return,花括号和return必须同时省略 特点: 可读性差 语法极简 没有自身的this,自动使用外层this 不能被new执行
三、解构赋值
解开结构赋值,一般用于处理对象或数组 对象的解构 规则:按照键和值的关系,一一对应,进行解构 不存在的键,为undefined 可以在声明变量时直接使用=号设置默认值 let {name,age=18,sex} = obj;
数组的解构 规则:按照索引从左向右,一一对应,进行解构 不存在的索引,为undefined 可以在声明变量时直接使用=号设置默认值 字符的解构
四、展开运算符
一般用于快速展开复杂的数据,获取其内部的值 语法:...要展开的数据
展开对象:只能在能接收键值对的位置展开对象
const obj1 = { name : "Admin" } ;
const obj2 = { ... obj1} ;
展开数组:只能在能接收多个数据的位置展开数组
const arr = [ 3 , 4 , 5 ] ;
const arr2 = [ ... arr] ;
const max = Math. max ( ... arr) ;
const arr3 = [ ... aLi] ;
五、对字符的补充
字符串模板:``` 支持反引号内回车换行 反引号内的变量使用${}
进行标记
const msg = "小王" ;
const str = ` 今天 ${ msg} 真好 ` ;
const str2 = ` ${ msg} 今
天
送
我
一
件
礼
物 ` ;
方法 str.repeat()
str.startsWith()
str.endsWith()
str.includes()
str.codePointAt()
String.fromCodePoint()
六、Symbol
类似于字符,基本数据类型,任何两个Symbol都不相等,用于表示标记值或状态 用于消除使用字符或数值或布尔等常规数据作为状态时的隐患 语法:const s = Symbol()
七、对象的简写语法
let name = "张三" ;
const obj = { name
}
console. log ( obj) ; const obj = { show ( ) { console. log ( this ) }
}
obj. show ( ) ;
八、Set和Map
数据的打包形式 数组对象:有序的可重复的值集合 对象:无序的无重复的键值对集合 Set对象:无序的无重复的值集合 Map对象::无序的无重复的值值对集合 Set: 创建:const s = new Set()
属性:s.size
方法: 添加数据:s.add( val )
删除数据:s.delete( val )
查询是否存在数据:s.has( val )
清空数据:s.clear()
获取所有键名:s.keys()
获取所有值:s.values()
获取所有键值:s.entries()
遍历所有数据:s.forEach( callback )
Map: 创建:const m = new Map()
属性:m.size
方法: 添加数据:m.set( key, val )
查询数据:m.get( key )
删除数据:m.delete( key )
查询是否存在数据:m.has( key )
清空数据:m.clear()
获取所有键名:m.keys()
获取所有值:m.values()
获取所有键值:m.entries()
遍历所有数据:m.forEach( callback )
九、for-of
ES6新增的遍历语句:主要用于遍历set和map for-of遍历的是值 for-in遍历的是键
for-of 可以遍历:Set 和 Map 结构、数组、某些类似数组的对象(比如arguments对象、DOM NodeList 对象),以及字符串。