如何在未定义案例对象属性值中分配可选值。
类似这样的东西。
const { someField } = { y: "Hello" } || { someField: "hello!"}
答案 0 :(得分:1)
您可以使用destructuring assignments default values。在这种情况下,由于您希望默认值是{ someField: "hello!"}
中的值,因此可以通过将其引用为对象来将其指定为默认值。
请参见以下示例:
const obj = { someField: "hello!"};
const {someField = obj['someField']} = { y: "Hello" };
console.log(someField); // hello!
答案 1 :(得分:1)
您还可以使用Object.assign首先合并不同的对象,其中最右边的对象将覆盖左边的对象,然后使用解构从合并的对象中提取属性:
const defaultValues = { y: 'Hello', someField: 'hello!' };
const { someField, y } = Object.assign(defaultValues, { someField: 'bye!' });
console.log(y, someField);
答案 2 :(得分:0)
尝试使用此函数检查空值或未定义的给定值
BEGIN:VCALENDAR
PRODID:-//Test//Intranet//EN
VERSION:2.0
METHOD:PUBLISH
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
CLASS:PUBLIC
CREATED:20190318T142500
DESCRIPTION;ENCODING=QUOTED-PRINTABLE: Mark your calendar for =0D=0A=0D=0AOrganiser: Test Group =0D=0AContact Person: Mickey Mouse =0D=0ALocation: Alaska =0D=0AEmail: test@test.at =0D=0APhone: +1234567890000 =0D=0A=0D=0A
Olala man alatress.
Opla cupla!
=0D=0A
DTSTART:20190321T170000
RDATE:20190321T170000
RDATE:20190321T220000
DTEND:20190322T210000
RDATE:20190322T170000
RDATE:20190322T210000
DTSTAMP:20190318T125443
LOCATION:Alaska
PRIORITY:1
SEQUENCE:0
SUMMARY:TEST TITLE:
TRANSP:TRANSPARENT
UID:company-71-74
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">\n<HTML>\n<HEAD>\n<META NAME="Generator" CONTENT="MS Exchange Server version rmj.rmm.rup.rpr">\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n<!-- Converted from text/plain format -->\n\n<P><FONT SIZE=4>TEST TITLE: </FONT>\n</P>\n\n<P><FONT SIZE=2>Organiser: Test Group </FONT>\n\n<BR><FONT SIZE=2>Contact Person: Mickey Mouse </FONT>\n\n<BR><FONT SIZE=2>Location: Alaska </FONT>\n\n<BR><FONT SIZE=2>Email: test@test.at</FONT>\n\n<BR><FONT SIZE=2>Phone: +1234567890000 </FONT>\n</P>\n\n<FONT SIZE=2><div>
<div>Olala man alatress.</div>
<div>Bitte pü\;nktlich sein! \;</div>
<div> \;</div>
</div></FONT>\n\n</BODY>\n</HTML>
X-MICROSOFT-CDO-BUSYSTATUS:FREE
X-MICROSOFT-CDO-IMPORTANCE:2
BEGIN:VALARM
TRIGGER:-PT30M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR
答案 3 :(得分:0)
两种可行的方法最终对我有用:
第一个: const {someField} = Object.assign({someField:“ Hello”},{y:'Hola'});
更好 const {someField} = {someField:{y:“ bla bla”} || {someField:“ Hello”}}