TypeScript
https://scrapbox.io/files/6711fbbfcf0c85da54229053.png
Map<K, V>
code:ts
const map = new Map<string, number>();
map.set("a", 1);
console.log(map.get("a"));
コンストラクにはタプル型 [K, V][] を渡す
code:ts
const map = new Map<string, number>([
]);
console.log(map);
// Map (3) {"a" => 1, "b" => 2, "c" => 3}
d.ts
#API 呼び出しのレスポンスの型を書くときに使える? 型 S が型 T の部分型であるとは、S 型の値が T 型の値でもあることを表現する
code:tyepscript
type FooBar = {
foo: string;
bar: number;
}
type FooBarBaz = {
foo: string;
bar: number;
baz: boolean;
}
const obj: FooBarBaz = {
foo: "Hi",
bar: 1,
baz: true,
};
const obj2: FooBar = obj;
/ab+c/ig のような形式
// で正規表現の構文を囲う
後ろにフラグ
i: 大文字小文字を区別
g: 文字列中の 1 箇所だけでなく全ての箇所
m: ^, $ が文字列の先頭・末尾だけでなく行の先頭・末尾
s: .に改行文字を含む
u: 文字列を UTF-16 コードユニット列だけでなく、 Unicode コードポイント列として扱う
y: 指定された開始位置(lastIndex)からのみ
プリミティブ
number
string
boolean
null
undefined
symbol
bigint <- 😅
null
undefined
false
Nan
0
-0
0n
""
document.all <- JavaScript で唯一偽値のオブジェクト
as v.s. unknown
any 型の値を使う際に一切の型チェックが行われない
unknown 型の値は正体が全くわからないのでできることが限られている
unknown 型の値に対してプロパティアクセスしようとすると エラ-: hoge is of type 'unknown'. 的なことを言われる
undefined 型の値に対しては型の絞り込みを行うようにするとよい