ホームページ ウェブフロントエンド フロントエンドQ&A JavaScriptでエクスポートとはどういう意味ですか

JavaScriptでエクスポートとはどういう意味ですか

Jan 12, 2022 pm 03:22 PM
html javascript フロントエンド

JavaScript では、export は「エクスポート」を意味します。JavaScript のモジュール内のすべての宣言はローカルです。モジュールは、export キーワードを使用してエクスポートできます。このコマンドは、モジュールをエクスポートするためにモジュール内のどこにでも使用できます。その後、他のJS ファイルは、import コマンドを通じてモジュールをロードできます。

JavaScriptでエクスポートとはどういう意味ですか

このチュートリアルの動作環境: Windows 10 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript におけるエクスポートの意味

デフォルトでは、JavaScript モジュール内のすべての宣言はローカルであり、外部からアクセスすることはできません。モジュール内で宣言されたコンテンツの一部を公開し、他のモジュールで使用できるようにする必要がある場合は、関数をエクスポートする必要があります。最も簡単な方法は、export キーワードを追加してモジュールをエクスポートすることです。

エクスポートできる内容には、var、let、const で変更されたクラス、関数、変数が含まれます。エクスポート コマンドは、モジュールの最上位にある限り、モジュール内のどこにでも使用できます。ブロックレベルのスコープにある場合は、インポート コマンドと同様にエラーが報告されます。

export コマンドを使用してモジュールの外部インターフェイスを定義した後、他の JS ファイルは import コマンドを通じてこのモジュールを読み込むことができます。

import コマンドにはリフティング効果があり、モジュール全体の先頭に昇格して最初に実行されます。インポートは静的に実行されるため、実行時にのみ結果が得られる構文構造である式や変数は使用できません。

1. デフォルトのインポートとエクスポートデフォルトのインポート/エクスポート

各モジュールにはデフォルトのエクスポートが 1 つだけあり、エクスポートの内容は関数、クラス、オブジェクトなどになります。 。この方法がエクスポート内容のメインとなるため、インポート方法が最も簡単です。

// 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 };
ログイン後にコピー

注: モジュールは 1 つのデフォルト オブジェクトのみをエクスポートできます。実際にエクスポートされるのは、名前変更用にデフォルトという名前の変数です。同等のステートメントは次のとおりです。したがって、インポート後に任意の変数名を使用でき、{} は必要ありません。

import any from './requireTest'
import {default as any } from './requireTest'
ログイン後にコピー

2. 名前付きインポートおよびエクスポート

エクスポート コマンドは外部インターフェイスを指定し、変数と 1 対 1 の対応を確立する必要があることに注意してください。モジュール内です。さらに、export ステートメントによって出力されるインターフェイスには、対応する値との動的なバインディング関係があります。つまり、このインターフェイスを通じて、モジュール内のリアルタイムの値を取得できます。

import コマンドは、他のモジュールからインポートされる変数名を指定する 1 対の中括弧を受け入れます。中括弧内の変数名は、インポートされたモジュール (profile.js) の外部インターフェイスの名前と同じである必要があります。入力変数の名前を変更する場合は、インポート コマンドで as キーワードを使用して入力変数の名前を変更します。

インポート後の「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';
ログイン後にコピー

3. インポートとエクスポートの名前変更

export { myFunction }; // exports a function declared earlier
export const foo = Math.sqrt(2); // exports a constant
ログイン後にコピー

異なるモジュールのエクスポート コンテンツをインポートする場合、名前の一意性を維持する必要があります。これは、次の 2 つのカテゴリを含む名前を変更することで解決できます。

//导出的时候重命名
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";
ログイン後にコピー

4. エクスポートとインポートの複合記述方法

モジュール内で、最初に入力し、次に同じモジュールを出力する場合、インポート文は次のように記述できます。エクスポートステートメント。

export { foo, bar } from 'my_module';
// 等同于
import { foo, bar } from 'my_module';
export { foo, bar };
ログイン後にコピー

【関連する推奨事項: JavaScript 学習チュートリアル

以上がJavaScriptでエクスポートとはどういう意味ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles