要检查x变量是否等于1或2,我通常会执行以下操作:
x
if (x === 1 || x === 2){ // .... }
但这在某些情况下可能非常麻烦。
编辑:我现在正在处理此问题,每次我认为可以更简洁的方式编写功能名称时:
if ( this.getNotificationStatus() === 'denied' || this.getNotificationStatus() === 'blocked' )
还有其他更简单的方法可以写这个吗?
谢谢
查看更多
您可以这样做:
if ([1, 2].includes(x)) { // .... }
要么:
if ([1, 2].indexOf(x) > -1) { // .... }
switch (x) { case 1: case 2: // .... break; default: }
我认为它们并不比您的解决方案“轻巧”。
注意:
includes
不适用于ES2016之前的版本。indexOf
在某些旧版浏览器(例如IE9)中不受支持。是的,并且
includes
根本无法在IE中使用。