ECMAScript6简称ES6,ES6包含有关键字如let和const等关键字、解构、字符串函数等知识点。
一、let与const。
let和const有一些相同点,两者都能声明一个变量,声明的变量不会提升。相对于Var声明变量而言,let声明是块级作用域并且不能重复声明。
{
let a=10;
console.log(a)
};
let声明只能在{}中才能起到作用。如果同一个变量被let重复声明服务器就会反馈出错。
const声明的变量必须赋值,声明的变量不能被重新赋值。
二、解构。
解构就是将数组或者对象拆分为单个的变量,解构对象时要注意变量值名一定要和键值名相一致,以下分别对数组结构和对象结构进行举例描述。
数组解构:var arr=[1,2,3,4,5];
[a,b,...c]=arr;
console.log(a);console.log(b);console.log(c);
对象解构:let obj={a:42,b:50};
let {a,b}=obj;
console.log(a,b)。
三、字符串函数。
字符串函数较常用的有includes(包含)、startWith(以...开头)、endWith(以...结束)、repeat(重复)、padStart(向前填充)、padEnd(向后填充)、箭头函数。
以下为上述函数的基本运用举例:
let str=[1,2,3,4,5,6];
console.log(str.includes(此处填写元素),若str中含有填写的元素浏览器控制台返回true,反之为false,startWith和endWith用法和includes相同,对此不再过多介绍。
repeat用法举例:
let str="我爱中华人民共和国”;
console.log(str.repeat(3));此时str在控制台的输出就会重复三次。
padStart用法举例:
var str="5";
console.log(str.padStart(x,y));其中x参数代表将str填充为几位数,y参数代表默认填充数为y;padEnd与padStart的用法相似,不在过多举例。
箭头函数:箭头函数的运用较为简单,是函数的一种形式;
1、var res=function(){
console.log(111)
};
2、res=>(){
console.log(111)
};
上述两种函数作用相同,上方为普通函数表达式,下方为箭头函数表达式,箭头函数的参数只有一个时可以不写括号。
四、ES6的进阶学习。
ES6的进一步学习所要了解的有class(类)、模块化、可迭代对象、for of、和promise;接下来对这几项分别举例分析。
1、class(类):类是一种语法,首先要现创建一个class(类);然后实例化。例如:
//创建类语法
class Cat extends Animal{
constructor(color,age,name){
super(color,age); //调用Animal构造函数constructor
this.name = name;}
skill(){alert("中华人民共和国"); }}
// 实例化
var c1 = new Cat("华夏",2,"kitty");
var c2 = new Cat("洛阳",1,"可乐");
c1.skill();
c1.yeil()。
2、模块化:模块化主要关注导入import和导出export;
export 导出
var name = "mumu";
export{name};
function say(){ alert('我喜欢'+name)};
export {say};
import导入时script的type类型要写moudel;
<script type="module">
import {name,say} from "xxx.js";
say(); </script>;
3、可迭代对象:
可迭代对象主要牵涉到set去重、weakSet、map函数。
let arr=[1,2,3,4,5,6,2,3];
通过var are=[...new Set(...arr)]便可对arr进行去重得到一个无重复数组。
4、for of是循环,用于遍历数组、字符串、对象等,例:
var arr1 = ["清","风","明","月"];
for(v of arr1){
console.log(v);
};
5、promise(承诺):
ES6 对 Promise 有了原生的支持,一个 Promise 是一个等待被异步执行的对象,当它执行完成后,其状态会变成 resolved 或者rejected,例:
var t = new Promise((resolve, reject) => {
setTimeout(() => {
var s = Math.random();
if (s > 0.5) {
resolve("明天请你去吃海底捞")
} else {
reject("不是说了吗?明天。")
}
}, 2000)
})
t.then(res => {
console.log(res);
})
t.catch(reject => {
console.log(reject);
})。