前两篇文章大概把JavaScript的基础语法讲了一下,这篇文章主要讲讲ES6的核心语法。ES6的核心语法说实话其实有点多,我重点挑一些经常在项目中用到的来讲,其他一些我没怎么见过的就不讲了。
目录
1.变量和常量
var
:函数作用域或全局作用域,变量提升。let
:块级作用域,不提升。const
:变量一旦使用到这个关键字,就必须要对这个变量进行赋值。
2.箭头函数
箭头函数是 ES6 中引入的一种更简洁的函数表达方式。它们具有一些独特的特性,使得它们在某些情况下比传统函数更方便使用。以下是箭头函数的详细介绍。
语法
箭头函数的基本语法如下:
(param1, param2, ..., paramN) => { statements }
如果只有一个参数,可以省略圆括号:
param => { statements }
如果函数体只有一条语句,并且需要返回值,可以省略大括号和 return
关键字:
(param1, param2, ..., paramN) => expression
示例
- 无参数的箭头函数:
const sayHello = () => {
console.log("Hello!");
};
sayHello(); // 输出 "Hello!"
- 一个参数的箭头函数:
const square = x => x * 2;
console.log(square(4)); // 输出 8
- 多个参数的箭头函数:
const add = (a, b) => a + b;
console.log(add(3, 5)); // 输出 8
特性和行为
-
没有自己的
this
绑定:箭头函数不会创建自己的
this
,它会捕获其所在上下文的this
值,作为自己的this
值。function Person() { this.age = 0; setInterval(() => { this.age++; console.log(this.age); }, 1000); } const p = new Person();
在上面的示例中,箭头函数中的
this
绑定到Person
实例,因此可以正确访问this.age
。 -
简化回调函数:
const numbers = [1, 2, 3, 4]; const doubled = numbers.map(n => n * 2); console.log(doubled); // 输出 [2, 4, 6, 8]