Как получить тип переменной * value * в Typescript? - PullRequest
1 голос
/ 09 апреля 2020

Мне нужно получить список всех допустимых цветов в HTML. поэтому я попытался

const allValidColors = typeof new Option().style.color   //but here allValidColors get 'string' and not value of 'colors'

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

Ответы [ 2 ]

2 голосов
/ 09 апреля 2020

Предположительно, typeof new Option().style.color выглядит примерно как "red" | "green" | "blue". Невозможно взять этот тип и преобразовать его в массив const.

Вот проблема, связанная с этой топи c далее

1 голос
/ 09 апреля 2020

То, что вы видите, это имя типа, которое является «строкой». Попробуйте typeof true и увидите, что это "логическое значение". На самом деле typeof возвращает строковое имя типа, а не сам тип. Проверьте с помощью typeof typeof null, typeof typeof 3, et c.

Тип не является набором. Это может быть, если вы теоретик. ноль имеет 1 жителя. bool имеет 2. Тип string, который имеет счетное количество жителей. Это включает в себя «красный», «# ff0000», а также «мышь» и «NoiisenZ # uh @ (ru,». Вы можете установить цвет для любого из них, и браузер просто проигнорирует недопустимые. Это допустимые строки, но недопустимые цвета. Так как это строка типа, вы запрашиваете бесконечное заполнение памяти l oop, которое будет пытаться заполнить allValidColors всеми возможными строками. Но javascript и машинопись не работают таким образом. Некоторые языки программирования делайте, но они больше ориентированы на математику и логику c.

Если вы хотите набор, вы должны заполнить его самостоятельно. Я бы использовал массив для моделирования набора в этом случае.

var colors:string[] = ["red", "green", "blue"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...