4.4.2 短路求值

如果可选链运算符左侧操作数的求值结果为undefined或null,那么右侧的操作数不会再被求值,我们将这种行为称作短路求值。在下例中,由于变量a的值为undefined,因此第4行中的变量x将不会执行自增运算:


01 let x = 0;
02 let a = undefined;
03 
04 a?.[++x]; // undefined
05 x;        // 0

值得一提的是,二元逻辑运算符“&&”和“||”也具有短路求值的特性。