宣言リファレンス

このガイドの目的は、高品質な定義ファイルの書き方を学ぶことです。このガイドは、いくつかのAPIのドキュメントと、そのAPIの使用例を示し、対応する宣言の書き方を説明することで構成されています。

これらの例は、おおよそ複雑さの低い順に並んでいます。

プロパティを持つオブジェクト

ドキュメント

グローバル変数 `myLib` には、挨拶を作成するための関数 `makeGreeting` と、これまでに作成された挨拶の数を示すプロパティ `numberOfGreetings` があります。

コード

ts
let result = myLib.makeGreeting("hello, world");
console.log("The computed greeting is:" + result);
let count = myLib.numberOfGreetings;

宣言

`declare namespace` を使用して、ドット表記法でアクセスされる型または値を記述します。

ts
declare namespace myLib {
function makeGreeting(s: string): string;
let numberOfGreetings: number;
}

オーバーロードされた関数

ドキュメント

`getWidget` 関数は、数値を受け取ってWidgetを返すか、文字列を受け取ってWidgetの配列を返します。

コード

ts
let x: Widget = getWidget(43);
let arr: Widget[] = getWidget("all of them");

宣言

ts
declare function getWidget(n: number): Widget;
declare function getWidget(s: string): Widget[];

再利用可能な型(インターフェース)

ドキュメント

挨拶を指定する場合、`GreetingSettings` オブジェクトを渡す必要があります。このオブジェクトには、次のプロパティがあります。

1 - greeting: 必須の文字列

2 - duration: オプションの時間の長さ(ミリ秒単位)

3 - color: オプションの文字列、例: '#ff00ff'

コード

ts
greet({
greeting: "hello world",
duration: 4000
});

宣言

`interface` を使用して、プロパティを持つ型を定義します。

ts
interface GreetingSettings {
greeting: string;
duration?: number;
color?: string;
}
declare function greet(setting: GreetingSettings): void;

再利用可能な型(型エイリアス)

ドキュメント

挨拶が予期される場所であればどこでも、`string`、`string` を返す関数、または `Greeter` インスタンスを提供できます。

コード

ts
function getGreeting() {
return "howdy";
}
class MyGreeter extends Greeter {}
greet("hello");
greet(getGreeting);
greet(new MyGreeter());

宣言

型エイリアスを使用して、型の短縮形を作成できます。

ts
type GreetingLike = string | (() => string) | MyGreeter;
declare function greet(g: GreetingLike): void;

型の整理

ドキュメント

`greeter` オブジェクトは、ファイルにログを記録したり、アラートを表示したりできます。 `log(...)` にはLogOptionsを、 `alert(...)` にはアラートオプションを提供できます。

コード

ts
const g = new Greeter("Hello");
g.log({ verbose: true });
g.alert({ modal: false, title: "Current Greeting" });

宣言

名前空間を使用して型を整理します。

ts
declare namespace GreetingLib {
interface LogOptions {
verbose?: boolean;
}
interface AlertOptions {
modal: boolean;
title?: string;
color?: string;
}
}

1つの宣言でネストされた名前空間を作成することもできます。

ts
declare namespace GreetingLib.Options {
// Refer to via GreetingLib.Options.Log
interface Log {
verbose?: boolean;
}
interface Alert {
modal: boolean;
title?: string;
color?: string;
}
}

クラス

ドキュメント

`Greeter` オブジェクトをインスタンス化してgreeterを作成するか、それから拡張してカスタマイズされたgreeterを作成できます。

コード

ts
const myGreeter = new Greeter("hello, world");
myGreeter.greeting = "howdy";
myGreeter.showGreeting();
class SpecialGreeter extends Greeter {
constructor() {
super("Very special greetings");
}
}

宣言

`declare class` を使用して、クラスまたはクラスのようなオブジェクトを記述します。クラスは、コンストラクターだけでなく、プロパティとメソッドを持つことができます。

ts
declare class Greeter {
constructor(greeting: string);
greeting: string;
showGreeting(): void;
}

グローバル変数

ドキュメント

グローバル変数 `foo` には、存在するウィジェットの数が含まれています。

コード

ts
console.log("Half the number of widgets is " + foo / 2);

宣言

変数を宣言するには declare var を使用します。変数が読み取り専用の場合は、declare const を使用できます。変数がブロックスコープの場合は、declare let を使用することもできます。

ts
/** The number of widgets present */
declare var foo: number;

グローバル関数

ドキュメント

文字列を使用して関数 greet を呼び出すと、ユーザーに挨拶を表示できます。

コード

ts
greet("hello, world");

宣言

関数を宣言するには、declare function を使用します。

ts
declare function greet(greeting: string): void;

TypeScriptのドキュメントはオープンソースプロジェクトです。プルリクエストを送信して、これらのページの改善にご協力ください

このページの貢献者
MHMohamed Hegazy (57)
OTOrta Therox (13)
Yydz-one (1)
PBPylyp Borysov (1)
RKRafał Krupiński (1)
7+

最終更新日: 2024年3月21日