0%

ES6简单提炼


#前言:为了学习Hardhat框架(从读懂开始慢慢深入):需要在掌握JS基础后,对以下ES6内容进行学习巩固:

1.变量声明新增let关键字:注意两点:

  • 被let修饰的变量作用域只在代码块内有效(let实际上为 JavaScript 新增了块级作用域)
  • 被let修饰的变量不存在变量提升

2.变量声明新增let关键字:注意三点:

  • const声明一个只读的常量。一旦声明,常量的值就不能改变。
  • const一旦声明变量,就必须立即初始化,不能留到以后赋值。
  • const的作用域与let命令相同:只在声明所在的块级作用域内有效。

3.函数

  • ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面
  • ES6 允许使用“箭头”(=>)定义函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var f = v => v;

// 等同于
var f = function (v) {
return v;
};

如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分
var f = () => 5;
// 等同于
var f = function () { return 5 };

var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
return num1 + num2;
};

如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返回。

4.async

  • async函数完全可以看作多个异步操作,包装成的一个 Promise 对象,而await命令就是内部then命令的语法糖
1
2
3
4
5
6
7
8
9
10
11
12
function timeout(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}

async function asyncPrint(value, ms) {
await timeout(ms);
console.log(value);
}

asyncPrint('hello world', 50);

上面代码指定 50 毫秒以后,输出hello world

坚持原创技术分享,您的支持将鼓励我继续创作.