Необязательное свойство класса для объектаJavascript

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

Сообщение Anonymous »

Я хочу иметь возможность определять объекты как: < /p>

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

/**@type{CheckData}**/
object1 = {check:true}
/**@type{CheckData}**/
object2 = {check:false, data: 'Why?'}
, пока я могу использовать это @typedef с успехом:

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

/**
* @typedef {Object} CheckData
* @property {boolean} check
* @property {*=} data
*/
< /code>
У меня есть следующий класс: < /p>
/**
* @class CheckData
* @property {boolean} check - Indicates if the operation was successful.
* @property {*=} [data] - Optional data associated with the status.
*/
export class CheckData {
/**
* Creates an instance of CheckData.
* @param {boolean} check - Whether the operation is considered successful.
* @param {*=} [data] - Optional data.
*/
constructor(check, data) {
this.check = check;
if (data !== undefined) {
this.data = data;
}
}
}
Этот тип класса работает нормально для Object2 = {check: false, data: 'Почему?

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

Property 'data' is missing in type '{ check: true; }' but required in type 'CheckData'
Пока что я использую @typedef , он работает нормально.
Как я могу определить данные как необязательное свойство в CheckData класс?

Подробнее здесь: https://stackoverflow.com/questions/796 ... for-object
Ответить

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

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

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

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

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