Dev Highlights

Доки по разработке

This project is maintained by teniryte

Техники сужения типов

Принципы

Пример

const button1 = document.querySelector('.go') as HTMLButtonElement;
button1.disabled = true;

const button2 = <HTMLButtonElement>document.querySelector('.go');
button2.disabled = false;

interface Type1 { name: string; }
interface Type2 { age: number; }

function getUnion(): Type1 | Type2 {
  return {} as any;
}

const value = getUnion();
if ('name' in value) {
  console.log(value.name);
}

Практика