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');