JavaScript ES6中export、import与export default的用法和区别

当我们在用JavaScript编写模块化代码时,我们会经常用到exportimportexport default等关键字。下面我们来介绍它们的用法及区别。

export

export关键字用于将一个或多个模块内的变量、函数、类等暴露给外部使用。它通常被写在一个模块的底部,用法如下:

// module.js

export const name = 'Tom';
export function sayHello() {
  console.log('Hello!');
}

这个例子中,我们将namesayHello两个变量和方法使用export暴露出来,这样其他模块就可以使用这些变量和方法了。

使用export时,我们可以一次性暴露出多个变量和方法,也可以每次只暴露出其中一个。注意,使用export暴露出的变量和方法需要使用相应的名称进行引用。

import

import关键字用于将其他模块里的变量、函数、类等引入到当前模块中使用。使用import的语法如下:

// app.js

import { name, sayHello } from './module.js';
console.log(name);
sayHello();

这个例子中,我们使用import引入了module.js中的namesayHello变量和方法,并在app.js中使用它们。

使用import时,我们需要提前声明要引入的变量和方法,并指定来自哪个模块。可以通过相对路径或绝对路径指定模块的位置。

export default

export default用于默认导出一个值,一个模块可以有多个普通的export,但只能有一个export defaultexport default语法如下:

// module.js

const name = 'Tom';
function sayHello() {
  console.log('Hello!');
}
export default {
  name,
  sayHello
}

这个例子中,我们将一个对象作为模块的默认导出。

使用export default时,我们可以直接导出一个值,而不需要指定名称,因此对于导入者来说,可以使用任意名称引用该模块的默认导出值。

// app.js

import myModule from './module.js';
console.log(myModule.name);
myModule.sayHello();

这个例子中,我们使用import引入了module.js中的默认导出,并在app.js中使用它。

区别

在使用exportexport default时,我们需要注意它们之间的区别:

  • export可以暴露多个变量和方法,而且需要使用相应的名称引入;export default只能默认导出一个值,不需要指定名称
  • 在引入使用export导出的变量和方法时,需要加上花括号{ }。而使用export default时,则可以自定义名称
  • 一个模块中可以有多个export语句,但只能有一个export default
  • 在使用import时,使用export导出的变量和方法需要指定相应的名称,而默认导出不需要指定名称。

下面两个示例分别演示了如何使用exportexport default

// multiExportModule.js

export const name = 'Tom';
export function sayHello() {
  console.log('Hello!');
}
// defaultExportModule.js

const name = 'Tom';
function sayHello() {
  console.log('Hello!');
}
export default {
  name,
  sayHello
}

在导入时的用法如下:

// multiExportApp.js

import { name, sayHello } from './multiExportModule.js';
console.log(name);
sayHello();
// defaultExportApp.js

import myModule from './defaultExportModule.js';
console.log(myModule.name);
myModule.sayHello();

通过以上攻略我们应该对JavaScript ES6中的exportimportexport default的用法和区别有了很详细的了解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript ES6中export、import与export default的用法和区别 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JavaScript对JSON数据进行排序和搜索

    下面是关于JavaScript对JSON数据进行排序和搜索的完整攻略: 排序 要对JSON数据进行排序,可以先将其转换为数组,然后使用sort()方法进行排序。以下是具体的步骤: 将JSON数据解析为JavaScript对象。 let data = ‘{"name": "Alice", "age":…

    JavaScript 2023年5月27日
    00
  • 利用javascript查看html源文件

    想要在网页中查看HTML源文件,可以使用JavaScript来实现。具体的实现方法如下: 使用document.documentElement.outerHTML属性,将整个HTML源代码保存在该属性中,并将其打印到控制台上。 console.log(document.documentElement.outerHTML); 使用该方法能够查看整个HTML文档…

    JavaScript 2023年5月27日
    00
  • iOS WKWebView适配实战篇

    iOS WKWebView适配实战篇的完整攻略主要涉及以下几个方面: 1. 了解WKWebView WKWebView是苹果官方提供的一个用于iOS和macOS平台的现代化Web视图,可以直接预览网页,还支持JavaScriptCore和WebViewJavascriptBridge等桥接方式。相比于旧版的UIWebView,WKWebView更加内存友好、…

    JavaScript 2023年6月11日
    00
  • javascript简单比较日期大小的方法

    下面是关于“JavaScript简单比较日期大小的方法”的完整攻略。 核心思路 在JavaScript中,我们可以先将日期转换成时间戳,在比较时间戳大小来实现比较日期的大小。具体步骤包括: 将日期转换成时间戳; 比较时间戳大小,即可得出日期的大小。 实现方法 方法一:使用Date对象 const date1 = new Date("2021-01-…

    JavaScript 2023年5月27日
    00
  • 一篇文章教你用JavaScript使用流程控制打印九九乘法表

    一、背景介绍 九九乘法表是小学数学中比较基础的一个知识点,非常适合用来练习编程语言的流程控制。本文以JavaScript为例,介绍如何使用流程控制打印九九乘法表。 二、具体步骤 1. 确定九九乘法表的规模 在开始编写代码前,首先需要确定九九乘法表的规模,即要打印多少行和多少列。九九乘法表一般是9行9列,但也可以根据需要打印其他规模的乘法表。 2. 使用for…

    JavaScript 2023年5月28日
    00
  • 一个前端大佬的十年回顾 | 漫画前端的前世今生

    作者:京东科技 胡骏 引言 岁月如梭,十载流年 前端技术,蓬勃向前 HTML,CSS,JavaScript 演绎出璀璨夺目的技术画卷 回到十年前,前端技术就像一名戴着厚重眼镜的书呆子,总是小心翼翼,被各种各样的浏览器兼容性问题欺负(就像在小学被欺负一样)。 但随着时间的推移,这个书呆子开始锻炼,变得越来越强壮,终于能够对抗那些讨厌的兼容性问题 进入中学时期,…

    JavaScript 2023年4月17日
    00
  • 计算100000数组js脚本的执行时间

    计算一个JS脚本的执行时间通常可使用console.time()函数和console.timeEnd()函数来进行。 以下是计算100000数组JS脚本执行时间的完整攻略: 1. 创建测试数组 在JS中,我们可以使用Array.from()函数创建一个指定长度和指定初始值的数组,如下所示: const arr = Array.from({ length: 1…

    JavaScript 2023年5月27日
    00
  • js中int和string数据类型互相转化实例

    下面是详细讲解“js中int和string数据类型互相转化实例”的完整攻略。 1. 将字符串转为数字类型 在JavaScript中,将字符串转为数字类型有两种方法:parseInt()和parseFloat()。 1.1 使用parseInt()将字符串转为整数 使用parseInt()可以将字符串转为整数类型。该方法可以传入两个参数,第一个参数是要转换的字…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部