Что такое keyof в TypeScript? | Основы TypeScript #frontend #javascript #react #typescript

preview_player
Показать описание
Для чего нужен оператор keyof в typescript?
В _TypeScript_ существует возможность выводить все публичные, нестатические, принадлежащие типу ключи и на их основе создавать литеральный объединенный тип (`Union`). Для получения ключей нужно указать оператор `keyof`, после которого указывается тип, чьи ключи будут объединены в тип объединение `keyof Type`.

type AliasType = { f1: number; f2: string };

interface IInterfaceType {
f1: number;
f2: string;
}

class ClassType {
f1: number;
f2: string;
}

let v1: keyof AliasType; // v1: "f1" | "f2"
let v2: keyof IInterfaceType; // v2: "f1" | "f2"
let v3: keyof ClassType; // v3: "f1" | "f2"
let v4: keyof number; // v4: "toString" | "toFixed" | "toExponential" | "toPrecision" | "valueOf" | "toLocaleString"

Оператор `keyof` может применяться к любому типу данных.

Это аналогично тому, если бы мы указали union тип

type AliasType = { f1: number; f2: string };
type AliasKeys = "f1" | "f2"

let v1: keyof AliasType; // v1: "f1" | "f2"
let v2: AliasKeys

v1 = "f1"
v2 = "f2"

Только нам не требуется самим перечислять все поля. А мы их подхватываем на лету.

#reactjs
#javascript
#typescript
#usestate
#useeffect
#frontend

Рекомендации по теме
Комментарии
Автор

Уже не в первый раз натыкаюсь на твои видео и они супер классные!!!👍
Давай видео в кайф. Побольше бы таких видео!!

Top_lil_kir
visit shbcf.ru