📜  js 导入解构 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:23.478000             🧑  作者: Mango

JS 导入解构 - Javascript

在 JavaScript 中,可以使用导入解构来从一个模块中导入多个属性、方法或对象。这样可以更容易地管理代码,同时也可以提高代码的可读性和可维护性。

导入解构的基本语法
import {属性1, 方法1, 对象1} from '模块名称';

使用 import 关键字可以导入指定模块,然后使用 {} 包裹需要导入的属性、方法或对象的名称,用逗号隔开。这里的属性、方法或对象的名称应该是指在模块中导出的名称。

例子

如果有以下的模块文件:

// circle.js
export const PI = 3.14;
export function getCircleArea(radius) {
  return PI * radius * radius;
}
export const circle = {
  radius: 5,
  getArea: function() {
    return PI * this.radius * this.radius;
  }
}

要在其他的 js 文件中使用这个模块,可以使用导入解构来访问模块导出的属性、方法或对象。

// main.js
import { PI, getCircleArea } from './circle.js';
console.log(PI); // output: 3.14
console.log(getCircleArea(5)); // output: 78.5

以上代码,通过导入解构来访问 circle.js 模块导出的 PIgetCircleArea

导入解构重命名

有时候,一个模块导出的名称可能和当前作用域中已有的名称冲突。此时,可以使用导入解构重命名来避免这种冲突。

// circle.js
export const PI = 3.14;
export function getCircleArea(radius) {
  return PI * radius * radius;
}
export const circle = {
  radius: 5,
  getArea: function() {
    return PI * this.radius * this.radius;
  }
}
// math.js
const PI = 3.141592653589793;
export {PI};

main.js 文件中可以这样使用:

// main.js
import { PI as circlePI } from './circle.js';
import { PI as mathPI } from './math.js';

console.log(circlePI); // output: 3.14
console.log(mathPI); // output: 3.141592653589793

以上代码,使用 import 导入 circle.jsmath.js两个模块,并分别重命名了其导出的 PI 常量。

导入解构默认值

有些模块可能没有导出任何属性、方法或对象,但是要求在导入时必须提供一个默认值。可以使用导入解构默认值来实现这个功能。

// math.js
const PI = 3.141592653589793;
export default PI;

这时可以使用以下代码来导入模块:

// main.js
import PI from './math.js';
console.log(PI); // output: 3.141592653589793

以上代码,使用 import 导入 math.js 模块,并通过 default 关键字指定导入的默认值,然后可以使用这个默认值来访问 math.js 导出的常量。

导入解构的注意点
  • 导入解构只能用于模块中导出的属性、方法或对象的名称,不能用于模块本身。
  • 导入解构只是访问模块中导出的属性、方法或对象的标准方式之一,需要根据具体的情况来选择何种方式来导入模块。
  • 导入解构可以使用重命名和默认值等语法来处理一些特别的情况。