TypeScript

スポンサーリンク
TypeScript

TypeScript | 基礎文法:配列・タプル – 配列操作時の型エラー対処

よくある「配列操作の型エラー」はどこから来るのかTypeScriptで配列を触り始めると、かなりの確率で型エラーにぶつかります。でも、その多くは「TypeScriptが何を守ろうとしているか」が分かると、パターンとして整理できます。ざっくり...
TypeScript

TypeScript | 基礎文法:配列・タプル – forEachと型

forEachは「配列をなめるだけ」のメソッドforEach は、配列の各要素に対して順番に処理を実行するだけのメソッドです。map や filter と違って、戻り値を使って新しい配列を作ったりはしません。const nums = [1,...
TypeScript

TypeScript | 基礎文法:配列・タプル – reduceの型指定

reduceの「型指定」とは何を決めるものかreduce は、配列を「1つの値」に畳み込むメソッドです。TypeScript的に一番大事なのは、「途中経過(累積値:acc)の型をどう扱うか」です。この「累積値の型」を、TypeScriptに...
TypeScript

TypeScript | 基礎文法:配列・タプル – findの戻り値型

findの基本的な動きと戻り値のイメージfind は、配列の中から「条件を満たす最初の要素」を1つだけ返すメソッドです。もし条件を満たす要素が1つも見つからなかった場合は、undefined を返します。const array = [5, ...
TypeScript

TypeScript | 基礎文法:配列・タプル – filterの型推論

filterの型推論は「何が残る配列か」を推理してくれる仕組みfilter は、「条件を満たす要素だけを残して新しい配列を作る」メソッドです。TypeScript はここで、「元の配列の要素の型」と「filter に渡した関数の戻り値の型」...
TypeScript

TypeScript | 基礎文法:配列・タプル – 配列mapの型推論

「配列mapの型推論」とは何をしてくれているのかmap は、「配列の各要素を変換して、新しい配列を作る」メソッドです。TypeScriptは、このときに「元の配列の要素の型」と「変換関数の戻り値の型」から、新しい配列の型を自動で推論してくれ...
TypeScript

TypeScript | 基礎文法:配列・タプル – スプレッド構文と型

スプレッド構文とは何か(型の世界でどう見えるか)スプレッド構文 ... は、配列やオブジェクトの「中身を展開する」ための記法です。配列なら「要素をバラして別の配列に入れ直す」、オブジェクトなら「プロパティをコピーする」イメージです。cons...
TypeScript

TypeScript | 基礎文法:配列・タプル – 可変長タプル

可変長タプルとは何か(「一部だけ長さが伸びるタプル」)タプルは本来「要素数が固定」の型ですが、「ここまでは固定、それ以降は同じ型がいくつでも続いていい」という形を表現できるのが「可変長タプル(可変長タプル型)」です。ざっくり言うと、先頭の何...
TypeScript

TypeScript | 基礎文法:配列・タプル – タプルとreadonly

タプルとreadonlyの関係をざっくりイメージするタプルは「要素の数・順番・型が決まっている小さなセット」でした。ここに readonly を組み合わせると、「形も中身も変えない前提のタプル」を作れます。つまり、タプル:この位置にこの型、...
TypeScript

TypeScript | 基礎文法:配列・タプル – タプルの要素アクセス

タプルの要素アクセスは「位置ごとに型が決まっている」のがキモタプルは、「何番目に何の型が入るか」まで型で決まっている配列でした。だからこそ、要素にアクセスしたときも「どの位置を取るか」で型が変わります。let user: [string, ...
TypeScript

TypeScript | 基礎文法:配列・タプル – タプルと配列の違い

まずざっくりしたイメージの違い同じ「[]」を使うのでややこしいんですが、役割はけっこう違います。配列:「同じ型の値が、いくつ並ぶか分からない入れ物」タプル:「要素の数・順番・型が決まっている、小さな“セット”」このイメージを頭に置いたまま、...
TypeScript

TypeScript | 基礎文法:配列・タプル – タプルの型固定

「タプルの型固定」とは何かタプルの一番大きな特徴は、「要素の数・順番・型がすべて固定される」ことです。普通の配列は「number が何個でも」「string が何個でも」という“長さフリー”な構造ですが、タプルは「この位置にはこの型」「要素...
TypeScript

TypeScript | 基礎文法:配列・タプル – タプルの基本構文

タプルの基本構文の全体像タプルは、「要素の数・順番・型が決まっている配列」を表すための構文です。基本形はとてもシンプルで、「配列リテラルの [] の中に、位置ごとの型をカンマ区切りで並べる」だけです。let t: [型1, 型2, 型3, ...
TypeScript

TypeScript | 基礎文法:配列・タプル – タプルとは何か

タプルとは何か(「位置に意味がある配列」)タプルは、ざっくり言うと「要素の数と順番と型が決まっている配列」です。普通の配列は「同じ型の値がズラッと並ぶもの」ですが、タプルは「1番目はこれ、2番目はこれ…と、位置ごとに型と意味が決まっているも...
TypeScript

TypeScript | 基礎文法:配列・タプル – readonly配列

readonly配列とは何か(「中身を書き換えられない配列」)readonly配列は、一言でいうと「中身を変更できない配列」です。「参照はするけど、追加・削除・書き換えはさせたくない」というときに使います。const nums: reado...
TypeScript

TypeScript | 基礎文法:配列・タプル – union型配列

union型配列とは何か(まずイメージから)union型配列は、「この配列には“いくつかの型のどれか”が入る」ということを型で表現したものです。たとえば「number か string のどちらかが入る配列」は、こう書きます。const v...
TypeScript

TypeScript | 基礎文法:配列・タプル – 配列に異なる型を入れた場合

「配列に異なる型を入れる」と TypeScript はどう解釈するかまず前提として、TypeScript は「配列の中身(要素)を見て、その配列の型を決める」言語です。なので、配列に異なる型を混ぜると、その要素たちをまとめて表現できる型を自...
TypeScript

TypeScript | 基礎文法:配列・タプル – 配列の型推論

配列の型推論とは何かTypeScriptは、わざわざ「: string[]」のように型を書かなくても、初期値から配列の型を自動で推論してくれます。つまり、次のように書いた瞬間に、コンパイラは「これは number の配列だな」「これは st...
TypeScript

TypeScript | 基礎文法:配列・タプル – string[] と Array<string>

string[] と Array<string> は「意味は同じ」最初に結論から言うと、string[] と Array<string> は意味はまったく同じです。どちらも「string 型の要素だけを持つ配列」という型を表しています。le...
TypeScript

TypeScript | 基礎文法:配列・タプル – 配列型の書き方

配列型とは何かをまずイメージする配列は「同じ種類の値を、順番付きで並べたもの」です。TypeScriptでは、「この配列には何の型の要素が入るのか」を型として表現できます。const numbers = [1, 2, 3]; // 数字の配...
TypeScript

TypeScript | 基礎文法:変数・基本型 – unknown型との違い

any型とunknown型は「似て非なるもの」どちらも「どんな値でも代入できる型」ですが、性格は真逆です。ざっくり言うと、any型:型チェックをほぼ無効化する「なんでもアリモード」unknown型:何でも受け取るけれど「使う前に必ずチェック...
TypeScript

TypeScript | 基礎文法:変数・基本型 – any型の危険性

any型が「一番危険な型」と言われる理由any 型は、「何でも入るし、どこにでも代入できる」特別扱いの型です。一見すると「エラーが消えて便利」に見えますが、その代わりにTypeScriptの一番大事な役割(型チェック)を無効化してしまうとい...
TypeScript

TypeScript | 基礎文法:変数・基本型 – any型とは何か

any型とは何か(TypeScriptの「なんでもアリ」モード)any 型は、一言でいうと「TypeScriptの型チェックをほぼ無効化するための型」です。number や string のように「この型だけ」と絞るのではなく、「何でも入っ...
TypeScript

TypeScript | 基礎文法:変数・基本型 – 型エラーの典型パターン

型エラーの「典型パターン」を知っておく意味型エラーは無限にあるように見えて、実はよく出るパターンはかなり限られています。この「典型パターン」を押さえておくと、エラーを見た瞬間に「ああ、これはあのパターンね」と当たりがつくようになります。ここ...
TypeScript

TypeScript | 基礎文法:変数・基本型 – 型エラーの読み方

型エラーは「TypeScriptからの手紙」だと思って読むまず前提として、型エラーは「お前のコードがダメ」と責めてくるものじゃなくて、「ここがこうズレてるよ」と教えてくれるかなり親切な手紙です。だから読むときは、どの行で何が期待されていて実...
TypeScript

TypeScript | 基礎文法:変数・基本型 – as const の意味

as const は「この値をそのままの形で固定して」と伝えるスイッチas const は、TypeScript に対してこう宣言するためのものです。「この値は“変わらない前提”だから、できるだけそのままの形・そのままの値で扱ってほしい」具...
TypeScript

TypeScript | 基礎文法:変数・基本型 – booleanリテラル型

booleanリテラル型とは何かbooleanリテラル型は、「true だけ」「false だけ」といった、特定の真偽値だけを許可する型です。普通の boolean 型は「true か false のどちらでもOK」ですが、booleanリ...
TypeScript

TypeScript | 基礎文法:変数・基本型 – 数値リテラル型

数値リテラル型とは何か数値リテラル型は、「特定の数値だけを許可する型」です。普通の number 型は「どんな数値でもOK」ですが、数値リテラル型は「この変数には 1 しか入れてはいけない」「0 か 1 のどちらかだけ」といった、取り得る値...
TypeScript

TypeScript | 基礎文法:変数・基本型 – 文字列リテラル型

文字列リテラル型とは何か文字列リテラル型は、「特定の文字列だけを許可する型」です。普通の string 型は「どんな文字列でもOK」ですが、文字列リテラル型は「この文字列“だけ”OK」という、もっと狭い世界を表現します。let s1: st...
TypeScript

TypeScript | 基礎文法:変数・基本型 – リテラル型とは

リテラル型とは何か(ざっくりイメージ)リテラル型は、「特定の値そのものを型として扱う」ための仕組みです。普通の string 型は「どんな文字列でもOK」、number 型は「どんな数値でもOK」ですが、リテラル型を使うと「この変数には 1...
スポンサーリンク