Значение из объекта спреда не назначает тип, когда тип является объединениемJavascript

Форум по Javascript
Ответить
Anonymous
 Значение из объекта спреда не назначает тип, когда тип является объединением

Сообщение Anonymous »

Это своего рода странный случай края, что мне потребовалось несколько часов, чтобы выяснить, но я не знаю, какое правило типового процесса его вызывает, поэтому мне любопытно, если это то, о чем я не знаю,. Или, если это ошибка в моем интерпретаторе TypeScript. < /p>
У меня есть тип, где я хочу дополнительное поле (

Код: Выделить всё

allowedValues
) только в том случае, если другое поле имеет определенное значение (

Код: Выделить всё

selection
). Я написал тип союза, который выглядит так: < /p>

Код: Выделить всё

type AttributeTypeOptional = {
type: 'textField';
} | {
type: 'selection';
allowedValues: {[key: string]: string};
};
< /code>
Поскольку у меня было много макетных данных, я не хотел писать тип снова и снова, поэтому я сделал объект по умолчанию, а затем распространял его в каждый результат. (Здесь также будут и другие поля, но они не имеют отношения к проблеме.) < /P>
const defaults = {
type: 'textField';
};
Когда я это сделал, объекты со значением по умолчанию для типа: textField ожидали разрешенные значения. НО, если бы я включил тип непосредственно в объект, ошибка исчезла бы.
results: [
{
...defaults, //

Подробнее здесь: https://stackoverflow.com/questions/793 ... -type-is-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»