Используйте унарный оператор плюс в типе TypeScript - PullRequest
0 голосов
/ 25 апреля 2020

Я знаю, что добавление "+" перед переменной приведет к выводу числа, и я пытаюсь создать тип в TypeScript, и он имеет тип логический, но я хочу сделать так, чтобы при доступе пользователя к этому типу преобразует логическое значение в 1 или 0. Вот мой код:

type State = { showRightSidebar?: boolean, +value?: boolean }

Редактор кричит на меня за то, что я поставил знак + перед значением. Я делаю это неправильно? Как правильно сделать это

Чего я хочу достичь, я не знаю, возможно ли это или нет, но здесь все сказано: Итак, я хочу, чтобы пользователь мог назначать True или False, но при доступе к State. значение вернет 0 или 1.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

Я хочу закрыть этот вопрос, потому что ясно, что я пытаюсь сделать, невозможно. Для тех из вас, кому нужно это использовать. Вы можете сначала объявить тип логического типа, а затем, когда вы вызываете переменную, просто добавить + infront, это даст вам 0 для ложного и 1 для истинного.

0 голосов
/ 25 апреля 2020

Я бы добавил это как комментарий, но мой представитель недостаточно высок.

То, что вы делаете, - это создание псевдонима типа State, который является псевдонимом для объекта с определенной формой. В вашем случае эта фигура имеет два необязательных свойства: showRightSidebar и value. Вы ожидаете, что 'value' будет значением показа правой боковой панели? Непонятно, что вы пытаетесь выполнить sh.

Несмотря на это, у вас не может быть имени свойства с '+' в нем. Вы также не можете указать оператор преобразования как часть объявления псевдонима типа. Если вы хотите, чтобы «значение» было равно нулю или 1, вы можете сделать это.

type State = { showRightSidebar?: boolean, value: 0 | 1 }

Это объявит «значение» как число, где единственными допустимыми значениями являются 0 и 1. Если вы хотите объявить это как логическое значение, тогда вам нужно будет преобразовать в 0 или 1, когда вы получите доступ к свойству 'value'.

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