Menu
CoddyTech

まとめ:オブジェクトの構造定義

CoddyのJavaScriptジャーニー「Introduction To TypeScript」セクションの一部。レッスン 44/73。

challenge icon

チャレンジ

簡単

以下のプロパティとメソッドを持つ Computer という名前のインターフェースを作成してください:

  • id: number 型 (readonly)
  • brand: string 型
  • ramInGB: number 型 (任意)
  • isLaptop: boolean 型
  • boot: 引数なし、戻り値 void のメソッド

以下のプロパティとメソッドを持つ Server という名前のインターフェースを作成してください:

  • hostname: string 型 (readonly)
  • operatingSystem: string 型
  • maxConnections: number 型 (任意)
  • isOnline: boolean 型
  • restart: 引数なし、戻り値 void のメソッド
  • getStatus: 引数なし、戻り値 string のメソッド

作成したインターフェースを使用して、以下の変数を作成してください:

  • workstation という名前の Computer 型の変数を作成します。id は 1001、brand は "Dell"、ramInGB は 16、isLaptop は false とし、boot メソッドは "Dell workstation is booting up..." と出力するようにします。
  • laptop という名前の Computer 型の変数を作成します。id は 1002、brand は "MacBook"、isLaptop は true とし、boot メソッドは "MacBook laptop is starting..." と出力するようにします。
  • webServer という名前の Server 型の変数を作成します。hostname は "web-01"、operatingSystem は "Ubuntu"、maxConnections は 1000、isOnline は true とし、restart メソッドは "Restarting web-01 server..." と出力し、getStatus メソッドは "web-01 is online" を返すようにします。

checkComputerSpecs という名前の関数を作成してください。この関数は Computer 型のパラメータを受け取り、string を返します。関数は、コンピュータのブランドとタイプを "[brand] [laptop/desktop]" の形式で返す必要があります(isLaptop が true の場合は "laptop" を、そうでない場合は "desktop" を使用してください)。

getServerInfo という名前の関数を作成してください。この関数は Server 型のパラメータを受け取り、"[hostname] runs [operatingSystem]" の形式で string を返します。

以下の出力を別々の行に表示してください:

  • workstation の boot メソッドを呼び出す
  • laptop の boot メソッドを呼び出す
  • workstation を引数にして checkComputerSpecs を呼び出し、その結果を出力する
  • laptop を引数にして checkComputerSpecs を呼び出し、その結果を出力する
  • webServer の getStatus メソッドを呼び出し、その結果を出力する
  • webServer を引数にして getServerInfo を呼び出し、その結果を出力する
  • workstation の id を出力する
  • webServer の restart メソッドを呼び出す

自分で試してみよう

// TODO: ここにコードを書いてください
// 必要なプロパティとメソッドを持つComputerインターフェースを作成します
// 必要なプロパティとメソッドを持つServerインターフェースを作成します
// workstation、laptop、webServer変数を作成します
// checkComputerSpecs関数とgetServerInfo関数を作成します
// 必要なすべての出力を表示します

Introduction To TypeScriptのすべてのレッスン

自分で練習してみよう: TypeScriptプレイグラウンド