1
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.

【備忘録 #1】超簡潔!TypeScriptの基礎

Last updated at Posted at 2023-10-26

この記事について

YouTubeで、以下動画を視聴したので、
自分用の備忘録として超簡潔に記述しました。
なので、詳細な説明は書いてないです。

目次

コンパイルのやり方

現在のディレクトリ直下にあるindex.tsをコンパイルする場合

コンパイル
tsc index.ts

上記コマンド実行後、index.jsファイルが同階層に生成されます。

index.jsの実行
node index.js

型について

any型

何でもありの型。
文字列、数値、真偽値、オブジェクト等何にでもなれる型。

any型
let name: any = "hello";
name = true;
name = 44;
name = "";

enum型

列挙型。
変数sizeは、今後、Size.SHORT,size.MEDIUM,size.TALLの3つしか代入することができない。

enum型
enum Size {
    SHORT = "SHORT",
    MEDIUM = "MEDIUM",
    TALL = "TALL",
}

let size = Size.SHORT;

union型

型定義にOR演算子が使える型。

union型
let name: string | number;

リテラル型

特定の値のみしか代入不可にする。

リテラル型
const name: "hello" = "hello";

unknown型

基本的に、any型と同じ。
any型と異なるのは、any型は、どんな型の変数にも代入できるが、unknown型は代入不可という点。

unknown型
let name: unknown = "hello";
name = 44;
name = true;
name = {
    type: "short",
    size: "hello",
};

never型

返り値が無い型。

never型
function add(num1:number, num2:number): never {
    console.log(num1 + num2);
}

タイプエイリアス

型定義を変数化できます。

タイプエイリアス
// ユニオン型の型定義を、タイプエイリアスによって行っている
let clothSize = "small" | "medium" | "tall";
let size: clothSize = "small";

関数

関数
// 返り値が無い場合、`void`と記述
function add(num1: number, num2: number): void {
    console.log(num1+num2);
}

オブジェクト 読み取り専用プロパティ

以下のように型注釈時、プロパティ名の前にreadonlyと記述すれば
そのプロパティの値は読み取り専用になる。

readonly
let obj: {
    readonly name: string;
};

ラッパーオブジェクト

JavaScriptにおいて、number,string,boolean型等の変数は
全て自動ボックス化される。
つまり、これらの変数は全てオブジェクトとして扱える。

ラッパーオブジェクト
let num: number = 44;
console.log(num.toString());

また、以下のように全プロパティを読み取り専用にすることもできる。

Readonly<>
let obj: Readonly<{
    a: number,
    b: number,
}>;

オブジェクトの?

型注釈時、プロパティ名の後に?を記述することで
そのプロパティが存在しなくてもOKになる。

?
let obj: {
    name?: string;
};
obj = {};

watchモード

.tsファイルの保存時、自動でコンパイルを行ってくれるモードのこと。
-wを記述すると、watchモードになる。

tsc index.ts -w

tsconfig.json

TypeScriptを実行する際の設定ファイル
(コンパイルするJavaScriptのバージョンを変更したりできる。)

include

コンパイル対象のファイルを指定できる。

"include": [
    "index.ts"
]

exclude

コンパイルの対象外のファイルを指定できる。

"exclude"
"exclude": [
    "index.ts"
  ]

target

コンパイルするJavaScriptのバージョンを指定できる。

  • es2016
  • es6

sourceMap

コンパイル後、.js.mapファイルを生成する。
ブラウザのDeveloper Toolsの「ソース」タブで.tsファイル内容を閲覧できるようになる。

1
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
1
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?