0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【React初心者メモ】型アノテーション(:)

Posted at

型アノテーション(:)とは

型アノテーションとは、TypeScriptにおいて変数や関数の引数、戻り値の型を指定するものです。

具体例

基本:

//function関数
function greet(name: string) {
  console.log("こんにちは、" + name + "さん!");
}
greet("たろう"); 

//アロー関数
const greet = (name: string): void => {
  console.log(`こんにちは、${name}さん!`);
};
greet("たろう"); 

複数引数:

//function関数
function add(a: number, b: number): number {
  return a + b;
}

//アロー関数
const add = (a: number, b: number): void => {
  return a + b;
};

オブジェクトの引数:

//function関数
function printUser(user: { name: string; age: number }): void {
  console.log(`${user.name}は${user.age}歳です`);
}

//アロー関数
const printUser = (user: { name: string; age: number }): void => {
  console.log(`${user.name}は${user.age}歳です`);
};

配列の引数:

//function関数
function sumScores(scores: number[]): number {
  return scores.reduce((a, b) => a + b, 0);
}

//アロー関数
const sumScores = (scores: number[]): number => scores.reduce((a, b) => a + b, 0);

オプショナルな引数:

//function関数
//name?: string → name は文字列かもしれないし、無いかもしれない
function greet(name?: string): void {
  if (name) {
    console.log(`こんにちは、${name}さん!`);
  } else {
    console.log("こんにちは!");
  }
}

//アロー関数const greet = (name?: string): void => {
  if (name) {
    console.log(`こんにちは、${name}さん!`);
  } else {
    console.log("こんにちは!");
  }
};

デフォルト引数付き:

//function関数
function greet(name: string = "ゲスト"): void {
  console.log(`こんにちは、${name}さん!`);
}

//アロー関数
const greet = (name: string = "ゲスト"): void => {
  console.log(`こんにちは、${name}さん!`);
};

引数に配列の分割代入で型指定:

//function関数
function printCoords([x, y]: [number, number]) {
  console.log(`x: ${x}, y: ${y}`);
}

//アロー関数
const printCoords = ([x, y]: [number, number]): void => {
  console.log(`x: ${x}, y: ${y}`);
};

引数にオブジェクトの分割代入で型指定:

//function関数
function printProfile({ name, age }: { name: string; age: number }) {
  console.log(`${name}さんは${age}歳です`);
}
//アロー関数
const printUser = ({ name, age }: { name: string; age: number }): void => {
  console.log(`${name}さんは${age}歳です`);
};
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?