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?

More than 1 year has passed since last update.

TypeScriptの基本的な型

Posted at

自己紹介

現在都内の企業でWebエンジニアのインターン生としてお世話になっている大学2年生です!
インターンや個人開発で学んだことや苦労したことを記事にしています!
よろしくお願いします🙇🏻‍♂️

はじめに

今回は最近勉強しているTypeScriptの型についてアウトプットしていこうと思います!

boolean型,number型,string型

//boolean型
let bool: boolean = true;

//number型
let number: number = 0;

//string型
let string: string = "string";

Array型

//Array型
let arr1: number[] = [1, 2, 3];
let arr2: string[] = ["A", "B", "C"];
//配列の中の方が混合している場合
let arr3: (string | number | boolean)[] = [0, "A", true];
//二次元配列
let arr4: number[][] = [
  [0, 1, 2],
  [3, 4, 5],
];

tuple型

//tuple型
//tuple型は型推論では表示されない
//arr3は順番までは定義できないがtuple型では順番も定義できる
let arr5: [string, number, boolean] = ["A", 0, true];

any型

//any型
//どんな型を入れてもエラーにならないので極力any型を使わないように開発を進めていく
let arr6: any;

unknown型

//unknown型
//下記のままだと変数numberUnknownの型がわからないから足し算できないかもしれないと判断される
let numberUnknown: unknown = 0;
// let sumUnknown = numberUnknown + 10;←エラーになる
//typeofを使って特定の型であることを確認しながらコードを実行させることを"タイプガード"という
if (typeof numberUnknown === "number") {
  let sumUnknown = numberUnknown + 10;
}

void型

//void型
//返す値が存在しないときに記述する型
const returnNothing = (): void => {};

never型

never型についてのわかりやすい記事がありましたのでそちらを参考にしてみてください

null型、undefind型

//null型、undefind型
let Null: null = null;
let Undefinded: undefined = undefined;

オブジェクト型

//オブジェクト型
let obj: {
name: string;
} = {
  name: "Yusuke",
};

型エイリアス(Type Aliases)

//型エイリアス(Type Aliases)
//typeの先頭は大文字
type Profile = {
  name: string;
  age: number;
  email: string;
};
const myProfile: Profile = {
  name: "Yusuke",
  age: 20,
  email: "test.com",
};
//1度型を作ってしまえばtypeofで使いまわせる
type Profile2 = typeof myProfile;

交差型(intersection型)

//交差型(intersection型)
type Name = {
  firstName: string;
  lastName: string;
};
type Age = {
  age: number;
};
const myprofile: Name & Age = {
  firstName: "優介",
  lastName: "飯嶋",
  age: 20,
};

共用体型(union型)

//共用体型(union型)
let value: number | string = 0;
value = "hoge";

Literal型

//string型
let holiday: "" | "" = "";
// holiday = "月";←エラー

//number型
let month: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 = 1;
// month = 13;←エラー

//boolean型
let TRUE: true = true;
// TRUE = false;←エラー

列挙型(enum型)

//number型
//最初の要素は0から始まるが最初の要素に任意の値を代入することで変更できる
enum Months {
  January = 1, //1
  February, //2
  March, //3
  April, //4
  May, //5
  June, //6
  July, //7
  August, //8
  September, //9
  October, //10
  November, //11
  December, //12
}
console.log(Months.January); //1
//string型
enum Ages {
  Me = "20歳",
  Brother = "15歳",
  Mom = "45歳",
  Daddy = "50歳",
}
console.log(Ages.Brother); //15歳

間違っている箇所があれば、教えてくださるとありがたいです。

終わりに

今回はTypeScriptの型について書いてみました!
これからもTypeScriptについて記事を書いていこうと思います!
ではいい一日を😎

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?