dedecms做手机网站,网站建设方案前言,做小程序的公司有哪些比较好?,内部网站链接怎么做1、?.#xff08;可选链运算符#xff09; 在JavaScript中#xff0c;?.“是一种叫做Optional Chaining”#xff08;可选链#xff09;的新操作符。它允许我们在访问一个可能为null或undefined的属性或调用一个可能不存在的方法时#xff0c;避免出现错误…1、?.可选链运算符 在JavaScript中?.“是一种叫做Optional Chaining”可选链的新操作符。它允许我们在访问一个可能为null或undefined的属性或调用一个可能不存在的方法时避免出现错误。 使用?.操作符可以安全地访问对象的属性和方法而不会发生错误并导致程序停止执行。当对象的属性或方法不存在时表达式返回undefined而不是抛出TypeError异常。 1.1 访问对象属性 const person {name: John,address: {city: New York}};console.log(person.address?.city); // 输出New York// 输出undefined因为person对象没有age属性console.log(person.age?.toString()); 1.2 调用对象方法 const calculator {add: function(a, b) {return a b;}};console.log(calculator.add?.(2, 3)); // 输出5// 输出undefined因为calculator对象没有subtract方法console.log(calculator.subtract?.(5, 2)); 1.3 链式使用?. const user {profile: {name: Alice,email: aliceexample.com}};console.log(user?.profile?.name); // 输出Alice// 输出undefined因为user对象没有address属性console.log(user?.address?.city); 注意事项
使用?.操作符时如果目标属性或方法存在且可调用它们将按照正常方式执行。如果目标为null或undefined则表达式将立即返回undefined不会继续尝试访问后续的属性或方法。操作符不能与[]方括号一起使用。例如obj?.[index] 是无效的语法。
2、??空值合并运算符 在JavaScript中??是空值合并运算符的用法。它用于判断一个表达式是否为null或undefined并返回一个默认值。 const name null; /*使用??运算符来判断name的值是否为空如果为空则赋予默认值Unknown*/const displayName name ?? Unknown; console.log(displayName); // 输出: Unknown/*经常在表格或者数据渲染时可以用到当表格数据为空时直接显示 - const data null?? -*/