1.什么是 ES6
ES6是ECMA script6.0 的简称,是为了让js 语言成为能支持大型编写的语言,成为企业级开发语言
2.ES6与JavaScript的关系
ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。日常场合,这两个词是可以互换的。
3.ES6中的变量
(1)let(限制变量的作用域)
let声明的变量没有变量的提升,只能在{}里面使用
(2)const(只读变量)
const只能读取,不能赋值
(3)变量的解构赋值(等号左边有多个值,等号右边也有多个值)
{
let a = 1;
let b = 2;
let c = 3;
}
它的解构赋值为 let[a,b,c]=[1,2,3];
让a,b变量交换数字
在ES6中可以
let[a,b]=[1,3];
[a,b]=[3,1];
console.log(a,b);
4.ES6中的函数
1.默认形参赋值、
function showname(name=“zhangsan”){
console.log(name);
}
showname(“lisi”);
2.函数简写
{
showname(){
}
}
3.箭头函数(this指针在箭头函数中上下文保持一致)
var a = function(){
}
可写成箭头函数为:
a=()=>{
}
function a©{
returnc;
}
可写成
a=c=>c;(第一个c是形参,第二个c是实参);
格式
(参数1,参数2,…) => {
}
注意1: 如果参数只有一个,可以省略()
如果没有参数, 必须加上 ()
注意2: {}中只有一个renturn语句,省略{}和return
注意3: 箭头函数好处1: 简化回调函数
好处2中this指向定义的时作用域
5.ES6中的数组;
1.for of遍历
for(let c of “abcdef”){
console.log(c)
];//a b c d e f
格式: for(var v of arr){}
2.合并数组
let arr1=[1,2];
let arr2=[3,4];
在es5中:arr1.concat(arr2);
=1在es6中:[…arr1,…arr2]
与解构赋值结合
let list=[1,2,3,4,5];
let list1=list[0];//1
let list2=list.splice(1);//2,3,4,5
[list1,…list2]//[1,2,3,4]
6.字符串
.新特性有哪些? 编码
for-of
字符串查找(常用)
includes 是否包含
startWith 前缀
endWith 后缀
重复 repeat()
补位
padStart()
padEnd()
模板字符串
编码
var c = “吉”
var c = “\uXXXX\uXXXX”
var c = “\u{xxx}”
for-of
for(var c of str){}
字符串查找(常用)
includes 是否包含
startWith 前缀
endWith 后缀
重复 repeat()
补位
padStart()
padEnd()
7.新的数据类型
.es提供新的数据类型有哪些?
Map映射, 存储多个键值对数据, 类似对象
Set集合, 存储多个不重复的数据
.Map的用法
创建Map: new Map()
存储值 map.set(key,value)
获取值 map.get(key)
遍历 for(var [k,v] of map)
删除值 map.delete(k)
清空 map.clear()
Set用法
创建Set: new Set()
添加值: set.add()
删除值: set.delete()
清空: set.clear()