Как я могу присвоить необязательное значение в неопределенном значении атрибута объекта case.
как-то так.
const { someField } = { y: "Hello" } || { someField: "hello!"}
Вы можете использовать значения деструктурирующих назначений по умолчанию . В этом случае, поскольку вы хотите, чтобы значением по умолчанию было значение в { someField: "hello!"}, вы можете назначить его значением по умолчанию, ссылаясь на него как на объект.
{ someField: "hello!"}
См. Пример ниже:
const obj = { someField: "hello!"}; const {someField = obj['someField']} = { y: "Hello" }; console.log(someField); // hello!
Вы также можете использовать Object.assign , чтобы сначала объединить различные объекты, где крайние правые объекты будут перезаписывать объекты влево, а затем использовать деструктуризацию для извлечения свойства из объединенного объекта:
const defaultValues = { y: 'Hello', someField: 'hello!' }; const { someField, y } = Object.assign(defaultValues, { someField: 'bye!' }); console.log(y, someField);
два возможных способа наконец-то работают для меня:
Первый: const {someField} = Object.assign ({someField: "Hello"}, {y: 'Hola'});
Лучше это const {someField} = {someField: {y: "bla bla"} ||{someField: "Hello"}}
попробуйте эту функцию, чтобы проверить нулевое или неопределенное заданное значение
function checkNullOrUndefined(value){ if(value ==null || value==='' || value== "undefined" || value === undefined) return false; return true; } var a = {}; const b = checkNullOrUndefined(a) ? true : false