TypeScript Academy · レッスン

ES Module構文:importとexport

TypeScriptファイルで名前付きexportとデフォルトexportを使います。

レッスン 1/413 ステップ

「ES Module構文:importとexport」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。

ようこそ

TypeScriptは、コードを複数のファイルに整理するためのESモジュール構文をサポートしています。このレッスンでは、名前付きエクスポート、デフォルトエクスポート、インポートについて学びます。

名前付きエクスポート

`export`を使用して、宣言を他のファイルから利用できるようにします。
// math.ts
export function add(a: number, b: number): number { return a + b; }
export const PI = 3.14159;
export interface Config { host: string; }

名前付きインポート

波かっこを使用して、特定の名前付きエクスポートをインポートします。
// app.ts
import { add, PI } from './math';
console.log(add(1, 2)); // 3
console.log(PI);        // 3.14159

デフォルトエクスポート

モジュールにはデフォルトエクスポートを1つ定義できます。波かっこを付けず、任意の名前でインポートします。
// greeter.ts
export default function greet(name: string): string {
  return 'Hello, ' + name;
}

// app.ts
import greet from './greeter';
console.log(greet('Alice'));

インポートの別名

`as`を使用してインポート名を変更し、名前の衝突を避けます。
import { log as consoleLog } from './logger';
import { User as UserModel } from './models';

名前空間インポート

すべてのエクスポートを名前空間オブジェクトとしてインポートします。
import * as math from './math';
console.log(math.add(1, 2));
console.log(math.PI);

再エクスポート

別のモジュールから再エクスポートして、公開APIの窓口を作成します。
// index.ts
export { add, PI } from './math';
export { greet } from './greeter';
export * from './utils';

型のみのエクスポート

`export type`を使用して、実行時コードを含めずに型をエクスポートします。
// types.ts
export type { User, Product };
export type UserId = string;

型のみのインポート

`import type`を使用すると、そのインポートに実行時コードが含まれないことが保証されます。インターフェースや型エイリアスのインポートに役立ちます。
import type { User } from './models';
// Only the type is imported — no JavaScript
function greet(user: User): string { return user.name; }

モジュール解決

TypeScriptは、`moduleResolution` tsconfig設定に基づいてインポートを解決します。現代的なプロジェクトでは、`bundler`または`node16`が推奨されます。

JSONのインポート

tsconfigで`resolveJsonModule: true`を有効にすると、型推論付きでJSONファイルをインポートできます。
// tsconfig.json: "resolveJsonModule": true
import config from './config.json';
console.log(config.host); // typed based on JSON structure

確認問題

インポートによってJavaScript出力が生成されないこと(型のみ)を保証する構文はどれですか?

まとめ

複数の項目には名前付きエクスポートとインポートを、モジュールの主要な項目にはデフォルトエクスポートを、型にはimport typeを使用します。index.tsで再エクスポートすると、整理された公開APIを作成できます。
無料で開始

AI チューターと学ぶ TypeScript — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
101
レッスン
352

よくある質問

「ES Module構文:importとexport」レッスンは無料ですか?

はい。「ES Module構文:importとexport」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。

「ES Module構文:importとexport」で何を学びますか?

TypeScriptファイルで名前付きexportとデフォルトexportを使います。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

TypeScript Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「ES Module構文:importとexport」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このTypeScript Academyレッスンでコードを書いて実行できますか?

はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ES Module構文:importとexport
  2. 再エクスポートとBarrelファイル
  3. 型専用のImportとExport
  4. NamespaceとModule:現代的な使い方
← TypeScript Academyに戻る