如何解决OPTIONAL CHAINING 和 NULLISH COALESING 运算符的组合未呈现预期结果
我刚刚了解了 Optional chain 和 Nullish 合并 的组合。
这是object
const restaurant = {
name_: 'Classico Italiano',location: 'Via Angelo Tavanti 23,Firenze,Italy',categories: ['Italian','Pizzeria','vegetarian','Organic'],starterMenu: ['Focaccia','Bruschetta','Garlic Bread','Caprese Salad'],mainMenu: ['Pizza','Pasta','Risotto'],openingHours: {
thu: {
open: 12,close: 22,},fri: {
open: 11,close: 23,sat: {
open: 0,// Open 24 hours
close: 24,orderPizza(ing1,ing2) {
console.log(`you have ordered your pizza with ${ing1} and ${ing2}`);
}};
当我试图检查该方法是否存在时,它无论如何都会打印出它们。我做错了什么?
console.log(restaurant.orderPizza?.('some','something') ?? 'no method exist');
解决方法
也许从函数返回一个值,否则它有一个未定义的值:
const restaurant1 = {
name_: 'Classico Italiano',orderPizza(ing1,ing2) {
return `you have ordered your pizza with ${ing1} and ${ing2}`;
}
};
const restaurant2 = {
name_: 'Other',};
console.log(restaurant1.orderPizza?.('some','something') ?? 'no method exist');
console.log(restaurant2.orderPizza?.('some','something') ?? 'no method exist');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。