インタビューの質問 - TS (2): TypeScript で変数と関数の型を定義するにはどうすればよいですか?

インタビューの質問 - TS (2): TypeScript で変数と関数の型を定義するにはどうすればよいですか?

1. 変数の型の定義

TypeScript では、コロン (:) を使用して変数の型を指定できます。一般的な変数のタイプをいくつか示します。

  1. ブール型(boolean): trueまたはfalseの値を表します。
let isDone: boolean = false;
  1. 数値型(数値):数値を表します。
let age: number = 25;
  1. 文字列型 (string): テキスト値を表します。
let name: string = "John";
  1. 配列型(array):同じ型の値の集合を表します。
let numbers: number[] = [1, 2, 3, 4, 5];
  1. タプル型 (tuple): 各要素が異なる型を持つことができる固定長配列を表します。
let person: [string, number] = ["John", 25];
  1. 列挙型 (enum): 名前付き定数値のセットを表します。
enum Color {
    
    
  Red,
  Green,
  Blue,
}

let myColor: Color = Color.Blue;
  1. 任意の型 (any): 任意の型の値を示します。これは、型チェックを緩和するのと同じです。
let data: any = "Hello, TypeScript!";
  1. 空型(void):値を返さない関数を示します。
function greet(): void {
    
    
  console.log("Hello, TypeScript!");
}

上記はいくつかの一般的な変数タイプです。

2. 関数タイプの定義

TypeScript では、関数の入力パラメータの型と戻り値の型を定義できます。関数の型を定義する一般的な方法をいくつか示します。

  1. 完全な関数型定義:
function add(x: number, y: number): number {
    
    
  return x + y;
}
  1. オプションのパラメータとデフォルトのパラメータ:
function greet(name: string, age?: number = 25): void {
    
    
  console.log(`Hello, ${
      
      name}! You are ${
      
      age} years old.`);
}
  1. 残りのパラメータ:
function sum(...numbers: number[]): number {
    
    
  return numbers.reduce((total, num) => total + num, 0);
}
  1. 関数の種類とコールバック関数:
type MathOperation = (x: number, y: number) => number;

function calculate(x: number, y: number, operation: MathOperation): number {
    
    
  return operation(x, y);
}

関数の型を定義することで、関数の意図と予想される入出力をより明確に表現でき、コードの可読性と保守性が向上します。

3. 型推論と型アサーション

TypeScript では、変数の型が明示的に指定されていない場合、コンパイラは変数の初期値に基づいて型推論を実行します。例えば:

let message = "Hello, TypeScript!"; // 推断为string类型

さらに、場合によっては、変数の特定の型 (型アサーション) をコンパイラーに伝える必要があります。変数の後に山括弧または as キーワードを使用することで、型アサーションを行うことができます。例えば:

let data: any = "Hello, TypeScript!";
let length: number = (data as string).length;

型推論と型アサーションは連携して、型の派生と制御をより適切に処理するのに役立ちます。

おすすめ

転載: blog.csdn.net/weixin_42560424/article/details/131912739