ES6新语法
2021-05-15 本文已影响0人
Riya
一、字符串拼接(ES6)
1.传统方法
使用+
2.模版拼接(ES6新方法)
使用${str1}拼接,可支持换行,html标签解析不出来
注意:
1. 将要输出的拼接好的大段字符串使用反引号包裹起来
2. 若要在模版中使用函数,那么一定要写返回值(return)才会有输出,在函数中直接输出,会是undefined
2.箭头函数(ES6)
1. 传统赋值式函数
var fn = function(){}
2. 箭头函数(ES6)
语法:var 变量名 = (形参1,形参2)=>{函数体}
当只有一个形参时,可省略()
函数体只有一个表达式时,可省略{},此时隐藏return; 不推荐
箭头函数不能先调用再声明
使用场景(能使用function的地方都能使用箭头函数)
1.事件的回调函数(js动态绑定),this指向window
2.forEach循环时使用 books.forEach(v=>{ })
3.在定时器中使用 setInterval(() => { },1000)
this指向
1.行内绑定->window
2.js动态绑定->window
3.函数->window
4.定时器->当前宿主对象
解构赋值(ES6)
定义:将数组或对象的元素,赋值给相应变量
变量和元素之间是位置对应的关系
对象中,变量名和属性名要保持一致
使用
-
数组:
var books=['b1','b2','b3'] ; let [books1,books2,book3]=books;
-
对象:
var obj = {name : 'zs', say(){ }}; var {say} = obj;
- 通过给对象解构赋值可以将对象中的个别方法单独解构出来
比如Math中的random方法
,解构后可直接使用random()
调用
- 通过给对象解构赋值可以将对象中的个别方法单独解构出来
Symbol(ES6)
任何两个Symbol的值都不相等
Symbol是一种新的数据类型
Set(ES6)
使用: let set = new Set([1,2,3,4,'4',3]);
属性:
- 返回set对象中值的个数
set.size;
方法:
- 在对象末尾添加元素:
set.add('a');
- 移除set中所有元素:
set.clear();
- 移除set中特定元素:
set.delete('a');
- 判断元素是否存在set中,返回bool值
set.has('a');
- 遍历:
set.forEach((v)=>{console.log(v)})
Map(ES6)
语法:let map = new Map();
存:map.set('name','zs'); map.set('age',23);
注意:键值对之间用逗号隔开,不是冒号,键要用引号包裹起来
取:map.get('name'); //zs 取出对应属性中的值
遍历1:
for(let attr of map){
console.log(attr);
}
此时遍历的为map中的对象
遍历2:
for(let [key,value] of map){
console.log(key,value);
}
此时遍历的为map中的每一对键值对,key为属性,value为对应的值
bind(ES6)
bind(方法)返回新函数,并改变新函数中的this指向,this指向bind第一个参数。
使用
函数.bind(this指向,函数参数...)