Значение из объекта спреда не назначает тип, когда тип является объединением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

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