поле в котором у меня возможное null (с маркером ?)
Я не хочу делать кучу ветвлений условий и прочее.
const newProject: Project = {
'id': ?projectId,
'customerID' : customerId,
'agreementType' : $event.newData.agreementType,
'agreementDate' : $event.newData.agreementDate,
'paidInDays' : Number($event.newData.paidInDays),
'requiresInvoices' : $event.newData.requiresInvoices,
'requiresTimesheets' : $event.newData.requiresTimesheets,
};
Поле id у проджекта у меня возможное null
И я хочу инициализировать мой обьект со значением переменной projectId если она есть. Или же не инициализировать вовсе это конкретное поле.
Но не могу понять, куда засунуть «?»
projectId ?? null
Да, но как в инциализаторе это сделать ? 'id' ?? projectId ?
'id': projectId ?? null
Понимаешь.. да. По идее все верно. Но фишка в том, что в таком случае, оно проинициализует это поле с null. А мне нужно чтобы оно вовсе его не добавляло
Тогда только через if инициализировать после создания объекта
'id': projectId ?? undefined
Так сама пропертя будет присутствовать в объекте, просто со значением undefined
id: projectId ?? undefined
У меня на апиай будет проявляться 😂
А какой тип на API? Ему что null, что undefined, что нет поля - всё равно должно быть
Ну либо замените на project = { ... }; if (id) { project.id = id; }
У меня рест апи. Если мы добавляем проект, то соответственно его айди и не должно существовать, верно ? (База сама сгенерит) А если мы апдейтим путом.. то тогда айди нам как раз и нужен
Так, скажите, какой тип на вход принимает API? У него есть id?
Ну @dopusteam на самом деле прав, в таком случае разницы быть не должно
верно, так и отправь без id
Все. Вы были правы. Лучше сделать с андефайндом
Обсуждают сегодня