Есть ли способ выбрать противоположность пользовательского типа в Angular? - PullRequest
0 голосов
/ 20 мая 2019

Есть ли способ выбрать противоположность пользовательского определенного типа в переменной, используя Typescript?

Когда я определяю тип следующим образом: type Result = 'table' | 'grid'; Тогда любая переменная с типом Result может иметь либо'table' или 'grid'.

Есть ли способ получить противоположность 'table', то есть 'grid'?Точно так же, как это можно сделать с логическими значениями, например:

let a = false;
// a is false
a = !a;
// a is true

Не точный синтаксис, используя '!'оператор, но та же идея получить противоположность определенного пользовательского типа?

1 Ответ

0 голосов
/ 20 мая 2019

Его тип может быть таким:

type Result = 'table' | 'grid';
let table: Result = 'table';

let other: Exclude<Result, typeof table> = 'grid';

Здесь тип other будет grid, вы не можете назначить ему что-либо еще.

Iне думаю, что вы можете присвоить его переменной, типы не существуют во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...