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事件绑定学习要点

    当我们需要对网页中的某些元素进行交互操作时,Javascript 中常用的方法是事件绑定。下面是学习 Javascript 事件绑定时需要掌握的要点: 1. 什么是事件绑定? 事件绑定(Event binding) 是指为特定的事件类型和元素绑定一个事件处理器,当特定事件在特定元素上发生时,事件处理器会被自动调用。 2. 事件绑定的方法 Javascript…

    JavaScript 2023年6月10日
    00
  • 用JS做的简单的可折叠的两级树形菜单

    下面我将详细讲解使用JS实现一个简单的可折叠两级树形菜单的攻略。 准备工作 首先,我们需要准备一些基本的html和css代码,用于渲染出菜单的样式和结构。下面是一个简单的示例结构: <div class="menu"> <ul> <li><a href="#">菜单1&l…

    JavaScript 2023年6月11日
    00
  • JavaScript实现自动生成网页元素功能(按钮、文本等)

    让我们来详细讲解一下“JavaScript实现自动生成网页元素功能(按钮、文本等)”的完整攻略。 1. 需求分析 要实现自动生成网页元素功能,首先需要明确我们的需求和目标。我们的目标是在用户输入指定的元素类型和数量后,自动生成对应的HTML元素,比如按钮、文本输入框等。可以参考以下的需求分析: 需要一个表单,供用户填写元素类型和数量。表单设计可以参考以下样式…

    JavaScript 2023年6月10日
    00
  • JavaScript forEach中return失效问题解决方案

    JavaScript的forEach方法是遍历数组的常用方法之一,但是在使用过程中,我们可能会遇到return失效的问题。本文将详细讲解forEach中return失效问题的解决方案,包含以下几个方面: forEach方法的回调函数参数 break语句使用的问题 使用some方法代替forEach方法 1. forEach方法的回调函数参数 在了解 retu…

    JavaScript 2023年5月28日
    00
  • js实现日历

    当我们开发一个网站或应用时,通常需要为用户提供日历功能。在 Web 界面中,为用户提供日历的最常用方式是使用 JavaScript 实现。在这里,我将通过一些示例和说明,为大家介绍JavaScript实现日历的攻略。 1. 获取当前日期 要实现一个日历,我们首先需要获取当前日期,在 JavaScript 中可以使用 Date() 对象获取当前日期。 cons…

    JavaScript 2023年5月27日
    00
  • CSS+jQuery实现的一个放大缩小动画效果

    让我们来详细讲解如何用CSS和jQuery实现一个放大缩小动画效果。 步骤一:添加HTML结构 首先,需要添加一个HTML元素来实现放大缩小功能。我们可以使用<div>元素。 <div class="box"></div> 步骤二:应用CSS样式 接下来,我们需要为这个<div>元素添加CS…

    JavaScript 2023年6月11日
    00
  • javascript asp教程第十一课–Application 对象

    JavaScript ASP 教程第十一课 — Application 对象 什么是 Application 对象 ASP 的 Application 对象是服务器端的全局对象,用于存储应用程序全局数据并使多个用户共享这些数据。Application 可以在 ASP 应用程序的任何页面中访问,因此非常有用。 如何使用 Application 对象 设置 A…

    JavaScript 2023年5月27日
    00
  • JavaScript原始值与包装对象的详细介绍

    我来为你详细讲解“JavaScript原始值与包装对象的详细介绍”这个话题。 JavaScript原始值和包装对象介绍 在JavaScript中,原始值指的是不可变的基本类型数据,例如字符串、数字、布尔值等,而非原始值则是JavaScript提供的对象类型。在操作原始值时,JavaScript会自动创建一个临时的包装对象(Wrapper Object),在操…

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