在JavaScript中,export的意思是「匯出」;JavaScript中模組內的所有宣告都是本地的,利用export關鍵字可以匯出模組,該指令可以出現在模組的任何位置,匯出模組後其他JS檔就可以透過import指令載入該模組。
本教學操作環境: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中文網其他相關文章!

KeysinReactarespecialattributesassignedtoelementsinarraysforstableidentity,crucialforthereconciliationalgorithmwhichupdatestheDOMefficiently.1)KeyshelpReacttrackchanges,additions,orremovalsinlists.2)Usingunique,stablekeyslikeIDsratherthanindicespreve

toreCesetUpoverHeadInreActProjects,UsetoolslikecreateActApp(CRA),Next.js,Gatsby,orstarterkits和ManaintainamodullStructur e.1)crasimplifiessetupwithasinglecommand.2)next.jsandgatsbymorefermorefeaturesbutarearningcurve.3)starterkitsprovidecomprehensi

useState()isaReacthookusedtomanagestateinfunctionalcomponents.1)Itinitializesandupdatesstate,2)shouldbecalledatthetoplevelofcomponents,3)canleadto'stalestate'ifnotusedcorrectly,and4)performancecanbeoptimizedusinguseCallbackandproperstateupdates.

ReactispupularduetoItsOmpontement,基於虛擬,虛擬詞,Richecosystem和declarativedation.1)基於組件的harchitectureallowslowsforreusableuipieces。

todebugreactapplicationsefectefectionfection,usethestertate:1)proppropdrillingwithcontextapiorredux.2)使用babortControllerToptopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRollerTopRaceeDitions.3)intleleassynChronOusOperations.3)

usestate()inrectallowsStateMagementionInfunctionalComponents.1)ITSIMPLIFIESSTATEMAGEMENT,MACHECODEMORECONCONCISE.2)usetheprevcountfunctionToupdateStateBasedonitspReviousViousViousvalue,deveingingStaleStateissues.3)

selectUsestate()forsimple,獨立的variables; useusereducer()forcomplexstateLogicorWhenStatedIppedsonPreviousState.1)usestate()isidealForsImpleupDatesLikeToggGlikGlingaBglingAboolAboolAupDatingacount.2

useState優於類組件和其它狀態管理方案,因為它簡化了狀態管理,使代碼更清晰、更易讀,並與React的聲明性本質一致。 1)useState允許在函數組件中直接聲明狀態變量,2)它通過鉤子機制在重新渲染間記住狀態,3)使用useState可以利用React的優化如備忘錄化,提升性能,4)但需注意只能在組件頂層或自定義鉤子中調用,避免在循環、條件或嵌套函數中使用。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具