ES6 ?.运算符(可选链接)

// 可选链接 ?.
console.log(restaurant.openinghours.mon?.open);
console.log(restaurant.openinghours?.mon?.open);

const days = ['mon', 'tue', 'web', 'thu', 'fri', 'sat', 'sun'];
for (const day of days) {
  // console.log(day);
  const open = restaurant.openinghours[day]?.open ?? 'closed';
  console.log(`On ${day},we open at ${open}`);
}

// Methods
// 如果有order方法就调用 没有就输入后面的
console.log(restaurant.order?.(0, 1) ?? 'Method does not exist');
// 如果有orderRisotto方法就调用 没有就输入后面的
console.log(restaurant.orderRisotto?.(0, 1) ?? 'Method does not exist');

// Arrays
const users = [{ name: 'Jonas', email: 'hello@jonas.io' }];
console.log(users[0]?.name ?? 'User array empty');

// 如果没有?.将要这样写
// if (users.length > 0) users[0].name;
// else console.log('User array empty');

 

posted @ 2022-07-07 00:57  吃惊夜夜  阅读(127)  评论(0编辑  收藏  举报