首頁 web前端 前端問答 javascript中export的意思是什麼

javascript中export的意思是什麼

Jan 12, 2022 pm 03:22 PM
html javascript 前端

在JavaScript中,export的意思是「匯出」;JavaScript中模組內的所有宣告都是本地的,利用export關鍵字可以匯出模組,該指令可以出現在模組的任何位置,匯出模組後其他JS檔就可以透過import指令載入該模組。

javascript中export的意思是什麼

本教學操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。

javascript中export的意思是什麼

#預設情況下,JavaScript中export內的所有宣告都是本地的,外部無法訪問。如果需要公開模組中部分聲明的內容,並讓它模組加以使用,這個時候就需要導出功能,最簡單的方式是添加export關鍵字導出模組。

可以匯出的內容包括類別、函數以及var、let和const修飾的變數。 export指令可以出現在模組的任何位置,只要處於模組頂層就可以。如果處於區塊級作用域內,就會報錯,import指令也是如此。

使用export指令定義了模組的對外介面以後,其他 JS 檔案就可以透過import指令載入這個模組。

import指令具有提升效果,會提升到整個模組的頭部,先執行。由於import是靜態執行,所以不能使用表達式和變量,這些只有在運行時才能得到結果的語法結構。

一、default導入導出 default import/export

每個模組只有一個default的匯出,匯出內容可以是function、class,object等。因為這種方式被當作主要的匯出內容,導入方式最為簡單。

// there is no semi-colon here
export default function() {} 
export default class {}
//示例
class A extends Component{
   ...
}
export default A;
//对应的import示例。
import A from './requireTest'
//default export, 输入 lodash 模块
import _ from 'lodash';
//一条import语句中,同时输入默认方法和其他变量
import _, { each } from 'lodash';
//上述代码对应的export语句
export default function (obj) {
  // ···
}
export function each(obj, iterator, context) {
  // ···
}
export { each as forEach };
登入後複製

注意:一個模組僅允許導出一個default對象,實際導出的是一個default命名的變數進行重命名,等價語句如下。所以import後面可以是任意變數名稱,且不需要{}。

import any from './requireTest'
import {default as any } from './requireTest'
登入後複製

二、named 導入導出

需要特別注意的是,export指令規定的是對外的接口,必須與模組內部的變數建立一一對應關係。另外,export語句輸出的接口,與其對應的值是動態綁定關係,即透過該接口,可以取到模組內部實時的值。

import指令接受一對大括號,裡面指定要從其他模組匯入的變數名稱。大括號裡面的變數名,必須與被導入模組(profile.js)對外介面的名稱相同。如果想為輸入的變數重新取一個名字,import指令要使用as關鍵字,將輸入的變數重新命名。

import後面的from指定模組檔案的位置,可以是相對路徑,也可以是絕對路徑,.js路徑可以省略。如果只是模組名,不帶有路徑,那麼必須有配置文件,告訴 JavaScript 引擎該模組的位置。

// profile.js
//第一种export
export var firstName = 'Michael';
export function f() {};
//第二种export,优先使用这种写法
var firstName = 'Michael';
export {firstName};
function f() {}
export {f};
//main.js
import { firstName, f } from './profile';
import { firstName as surname } from './profile';
登入後複製

三、重新命名導入導出

export { myFunction }; // exports a function declared earlier
export const foo = Math.sqrt(2); // exports a constant
登入後複製

import不同模組的匯出內容時,必須保持命名的唯一性。此時可以用重命名來解決,包括以下兩類。

//导出的时候重命名
function v1() { ... }
function v2() { ... }
export {
      v1 as streamV1,
      v2 as streamV2,
      v2 as streamLatestVersion  //可以用两个不同的名称导出相同的值
};
//导入的时候重命名
// 这两个模块都会导出以`flip`命名的东西。同时导入两者,需要将其中一个的名称改掉。
import {flip as flipOmelet} from "eggs.js";
import {flip as flipHouse} from "real-estate.js";
登入後複製

四、export和import的複合寫法

#如果在一個模組之中,先輸入後輸出同一個模組,import語句可以與export語句寫在一起。

export { foo, bar } from 'my_module';
// 等同于
import { foo, bar } from 'my_module';
export { foo, bar };
登入後複製

【相關推薦:javascript學習教學

#

以上是javascript中export的意思是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

See all articles