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日

相关文章

  • 解决Django cors跨域问题

    让我来给您详细讲解解决Django CORS跨域问题的完整攻略。 什么是CORS跨域问题? CORS(Cross-Origin Resource Sharing)跨域资源共享问题,是由于同源策略(Same-Origin Policy)限制而导致的。同源策略指的是协议、域名、端口均相同,否则称之为跨域。在Web开发中,跨域问题是一种常见的问题,也是需要解决的问…

    JavaScript 2023年6月11日
    00
  • JavaScript中的6种运算符总结

    JavaScript中有很多种运算符用于执行不同类型的操作。在本篇攻略中,我们将会探讨JavaScript中的6种主要运算符。 1. 算术运算符 算术运算符用于执行数学运算,如加、减、乘、除。其中最常见的运算符有 +、-、*、/、%。 示例1:加法运算符(+) let a = 5; let b = 7; let c = a + b; console.log(…

    JavaScript 2023年5月28日
    00
  • JS加密插件CryptoJS实现的DES加密示例

    下面我将为您详细讲解使用JS加密插件CryptoJS实现的DES加密示例的攻略。 1. 安装CryptoJS 可以通过以下方式安装CryptoJS: 使用npm安装 打开终端窗口,输入以下命令: npm install crypto-js 使用CDN引入 在HTML文件头部引入CryptoJS库: <script src="https://c…

    JavaScript 2023年5月19日
    00
  • javascript实现阻止iOS APP中的链接打开Safari浏览器

    要在iOS APP中实现阻止链接打开Safari浏览器的功能,可以通过以下方法实现: 1. 使用JavaScript 通过JavaScript代码可以控制链接的行为,让其在当前页面打开,而不是打开一个新的Safari浏览器页面。具体的代码实现如下: // 拦截所有超链接打开 safari document.addEventListener(‘click’, …

    JavaScript 2023年6月11日
    00
  • jsonp跨域请求实现示例

    下面给出“jsonp跨域请求实现示例”的完整攻略,逐步讲解其实现过程。 什么是跨域请求? 跨域请求是指在前端页面中,通过JavaScript代码向不同域名、不同端口、不同协议的服务器发送HTTP请求。由于浏览器的同源策略,如果不加特殊处理,则这种跨域请求是不被浏览器允许的。 JSONP实现跨域请求的原理 JSONP(JSON with Padding)实际上…

    JavaScript 2023年5月27日
    00
  • 脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%

    标题:脚本分析、压缩、混淆工具JSA新版本发布 JSA是一款用于脚本分析、压缩和混淆的工具。该工具的新版本发布,压缩效率提高了大约10%。下面详细讲解这款工具的使用攻略。 1. 下载和安装 首先,需要在官网下载JSA工具的可执行文件,根据操作系统的不同选择对应版本。将下载好的文件解压缩后,即可安装并打开该工具。 2. 分析脚本 在JSA工具中,可以使用jsa…

    JavaScript 2023年5月19日
    00
  • JavaScript接口的实现三种方式(推荐)

    下面是关于“JavaScript接口的实现三种方式(推荐)”的详细攻略: 什么是JavaScript接口? JavaScript接口是指一种约定,它定义了一个或多个方法或属性,用于描述某个对象或类应该具备的行为和特征。JavaScript接口常用于实现对象的多态性和抽象性,从而增强代码的可扩展性和可维护性。 JavaScript接口的实现方式 下面介绍三种常…

    JavaScript 2023年5月27日
    00
  • JS 两个字符串时间的天数差计算

    当我们需要计算两个字符串表示的时间之间相差的天数时,我们需要先将字符串转换为日期对象,比较两个日期对象之间的天数差。 以下是详细的步骤: 步骤一:将字符串转换为日期对象 使用Date()方法将字符串转换为日期对象,语法如下: var date1 = new Date(‘2019-01-01’); var date2 = new Date(‘2019-01-0…

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