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

yizhihongxing

当我们在用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日

相关文章

  • 浅谈JS的原型和继承

    浅谈JS的原型和继承 1. 原型 在JavaScript中,每个对象都有一个原型对象,它充当了该对象的基础。原型对象是一个普通的对象,用于存储对象所继承的属性和方法。 我们可以使用Object.getPrototypeOf(obj)方法获取一个对象的原型。 var obj = {}; console.log(Object.getPrototypeOf(obj…

    JavaScript 2023年6月10日
    00
  • 微信小程序如何在页面跳转时进行页面导航

    微信小程序的页面开发,需要进行页面间的跳转和导航。下面是在微信小程序中进行页面导航的完整攻略。 一、使用 Navigator 组件进行页面跳转 使用 Navigator 组件 进行页面跳转是微信小程序中最基础的导航方式。其使用方式如下: <navigator url="/pages/index/index"> 跳转到首页 &l…

    JavaScript 2023年6月11日
    00
  • jQuery ajax(复习)—Baidu ajax request分离版

    下面是 “jQuery ajax(复习)—Baidu ajax request分离版”的完整攻略。 简介 本篇攻略主要介绍如何使用jQuery发起Ajax请求,以及如何使用Baidu Ajax Request分离版优化你的Ajax请求。 Ajax基础 什么是Ajax? Ajax全称是 Asynchronous JavaScript and XML(异步的 J…

    JavaScript 2023年6月11日
    00
  • 定单管理上 JS表格排序第1/2页

    针对“定单管理上 JS表格排序第1/2页”的完整攻略,我来给你详细讲解。 首先,你需要在前端页面上加入一个表格组件,这个组件要支持排序功能。可以使用一些常见的表格插件,如jQuery DataTables、Bootstrap Table等,这些插件都自带排序功能。 接下来,你需要绑定排序事件,在用户对表格列进行排序时触发。可以在表头th标签中添加可点击的元素…

    JavaScript 2023年6月11日
    00
  • javascript常用方法汇总

    JavaScript 常用方法汇总 本文将介绍常用的 JavaScript 方法,包括字符串方法、数组方法、数学计算方法、日期时间处理方法等,希望对您有所帮助。 字符串方法 1. substring() substring() 方法将返回一个字符串的子串。该字符串是从指定的开始下标位置开始,直到出现指定的结束下标位置的前一个字符为止。 const str =…

    JavaScript 2023年5月27日
    00
  • XSS & SQL注入

    XSS和SQL注入是常见的Web攻击方式。本文将从攻击原理、攻击步骤、预防措施等方面详细讲解XSS和SQL注入的攻击流程。 XSS攻击 攻击原理 XSS(Cross-Site Scripting),中文名为跨站脚本攻击。攻击者通过在Web页面中注入恶意脚本,使得用户在访问该页面时误执行恶意脚本,从而导致攻击者可以获取用户的敏感信息或者控制用户的操作。 攻击步…

    JavaScript 2023年6月11日
    00
  • 优化javascript的执行效率一些方法总结

    优化Javascript的执行效率一些方法总结 Javascript在前端开发中扮演着重要的角色,但是在开发过程中,经常会遇到Javascript代码执行效率较差的情况。以下是优化Javascript执行效率的一些方法总结。 1. 减少DOM操作 DOM操作是非常消耗性能的,每次变更都会让浏览器重新计算一次布局和绘制,因此尽量少的执行DOM操作可以提升代码的…

    JavaScript 2023年6月10日
    00
  • javascript之函数进阶详解

    JavaScript之函数进阶详解 函数的三种表现形式 JavaScript中的函数有三种表现形式:函数声明、函数表达式和箭头函数。其中,函数声明和函数表达式是最常见的形式。 函数声明 函数声明语法如下: function functionName(parameter1, parameter2, …parameterN) { // function bo…

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