ES6+ 特性,箭头函数、解构赋值、模块导入

简介: ES6+ 特性,箭头函数、解构赋值、模块导入
  1. 箭头函数(Arrow Functions)
    箭头函数是 ES6 引入的一种简洁的函数定义方式。它的语法更简洁,并且不会绑定自己的 this 值。箭头函数通常用于简化函数表达式。

基本语法:

const add = (a, b) => a + b;
1
特点:

简洁:省略了 function 关键字、花括号和 return 关键字(如果函数体只有一行代码)。
没有自己的 this:箭头函数会继承外部函数的 this,而不是创建自己的 this。这在处理回调函数时非常有用。
示例:

// 普通函数
function sayHello(name) {
return Hello, ${name};
}

// 箭头函数
const sayHello = name => Hello, ${name};

// 不需要参数的箭头函数
const getRandomNumber = () => Math.random();
1
2
3
4
5
6
7
8
9
10

  1. 解构赋值(Destructuring Assignment)
    解构赋值是一种从数组或对象中提取值的语法,使得赋值操作更加简洁和易读。

数组解构:

const numbers = [1, 2, 3, 4];
const [a, b, c] = numbers;
console.log(a); // 1
console.log(b); // 2
1
2
3
4
对象解构:

const person = {
name: 'John',
age: 30,
city: 'New York'
};
const { name, age } = person;
console.log(name); // John
console.log(age); // 30
1
2
3
4
5
6
7
8
默认值:

const [a, b = 2] = [1];
console.log(b); // 2

const { x = 10 } = {};
console.log(x); // 10
1
2
3
4
5
嵌套解构:

const person = {
name: 'Jane',
address: {
city: 'London',
postcode: 'SW1A 1AA'
}
};
const { name, address: { city } } = person;
console.log(name); // Jane
console.log(city); // London
1
2
3
4
5
6
7
8
9
10

  1. 模块导入(Modules)
    ES6 引入了模块化语法,使得代码可以被分割成多个模块,每个模块都有自己的作用域,支持导入和导出功能。

导出:

命名导出:

// utils.js
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
1
2
3
默认导出:

// utils.js
const multiply = (a, b) => a * b;
export default multiply;
1
2
3
导入:

导入命名导出:

// main.js
import { add, subtract } from './utils.js';
console.log(add(2, 3)); // 5
console.log(subtract(5, 2)); // 3
1
2
3
4
导入默认导出:

// main.js
import multiply from './utils.js';
console.log(multiply(2, 3)); // 6
1
2
3
别名导入:

// main.js
import { add as addition, subtract as subtraction } from './utils.js';
console.log(addition(2, 3)); // 5
console.log(subtraction(5, 2)); // 3
1
2
3
4
动态导入(异步加载模块):

// main.js
async function loadModule() {
const module = await import('./utils.js');
console.log(module.add(2, 3)); // 5
}

loadModule();
1
2
3
4
5
6
7
这些 ES6+ 特性在编写现代 JavaScript 应用程序时非常有用,可以帮助你编写更简洁、易维护的代码。

相关文章
|
19天前
|
自然语言处理
ES6 中箭头函数和普通函数区别
【10月更文挑战第19天】这些仅是对箭头函数和普通函数区别的一些主要方面进行的详细阐述,实际应用中可能还会有更多具体的细节和情况需要进一步探讨和理解。可以根据自己的需求进一步深入研究和实践,以更好地掌握它们在不同场景下的应用。
30 2
|
2月前
|
JavaScript
ES6--->箭头函数、类、模块化
ES6--->箭头函数、类、模块化
22 3
|
6月前
在ES6中,箭头函数可以像传统函数一样使用`this`吗?
在ES6中,箭头函数可以像传统函数一样使用`this`吗?
32 1
|
前端开发 JavaScript API
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
|
6月前
|
网络架构
ES6箭头函数的特性
ES6箭头函数的特性
ES6中的新增属性——解构赋值
ES6中的新增属性——解构赋值
|
前端开发 网络架构
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(一)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map
|
前端开发 网络架构
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(二)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(二)
|
前端开发 API 网络架构
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(六)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(六)
|
自然语言处理 JavaScript
ES6中的箭头函数及其使用场景
ES6 (ECMAScript 2015) 引入了许多新特性,其中之一就是箭头函数。箭头函数是一种更加简洁和便捷的函数定义方式,本文将详细介绍 ES6 中的箭头函数,并探讨其适用场景及注意事项。
128 0