39.TSとは何ですか?
1. 定義
TS(TypeScript)
これは Microsoft によって開発されたプログラミング言語であり、JavaScript
静的型チェック、クラス、インターフェイス、ジェネリックスおよびその他の機能を提供するスーパーセットであり、大規模なプロジェクトでコードの可読性、保守性、およびパフォーマンスを向上させることができます。
2.TSのメリット
と比較してJavaScript
、TypeScript
次の利点があります。
- より厳密な型チェック:
TypeScript
変数、関数、オブジェクトの型を明確に定義することが必須です。これにより、コーディング段階で潜在的なエラーを検出し、コードの信頼性を向上させることができます。 - より適切なコード プロンプト:
TypeScript
コーディング エラーを減らすために、エディターでより適切なコード プロンプトと補完を提供できます。 - 可読性と保守性の向上:
TypeScript
強力な型指定特性とより厳密な構文仕様により、コードの可読性と保守性が向上します。
さらに、TypeScript
の構文もサポートしておりES6+
、既存のアプリケーションやライブラリで使用できるJavaScript
ため、非常に強力なプログラミング言語です。
3. TSのデータ型
- ブール値
let isDone: boolean = false;
- 番号
let age: number = 18;
let price: number = 3.99;
- 弦
let name: string = "John";
let message: string = `Hello, ${
name}!`;
- 配列
let numbers: number[] = [1, 2, 3, 4, 5];
let strings: string[] = ["hello", "world"];
- タプル
let myTuple: [string, number] = ["hello", 42];
- 列挙
enum Color {
Red = 1,
Green = 2,
Blue = 3
}
let myColor: Color = Color.Green;
- Any: 任意の型、任意の値を割り当てることができます。
let variable: any = "hello";
variable = 42;
- Void: 値を返さない関数を示します。
function logMessage(message: string): void {
console.log(message);
}
- Nullおよび未定義:空の値および未定義の値を示します。
let myVar: null = null;
let myOtherVar: undefined = undefined;
- Never: 例外のスローや無限ループへの突入など、存在しない値を示します。
// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
throw new Error(message);
}
// 推断的返回值类型为never
function fail() {
return error("Something failed");
}
// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
while (true) {
}
}
- オブジェクト: オブジェクト、配列、関数などを含む非プリミティブ型を表します。
let person: object = {
name: "John", age: 18 };
let myArray: object[] = [{
name: "John" }, {
name: "Jane" }];
- 不明: 不明なタイプを表します。他のタイプと似ていますが、より安全であり、自由に割り当てることはできません。
let myUnknown: unknown = "hello";
// 报错:Property 'toUpperCase' does not exist on type 'unknown'.
myUnknown.toUpperCase();