Shorthand "OR" 的运算符

Shorthand operator for "OR"

我只是想知道是否有任何方法可以做类似的事情:

if(myVar === 1|2|5) {do something} 

if(myVar === (1 || 2 || 5)) { do something }

将用作

if(myVar === 1 || myVar === 2 || myVar === 5) {do something}

使用 switch case 也不是可选的解决方案。此外,它应该适用于任何数据类型,不仅是数字,还适用于字符串、数组。基本上是一个比较。我已经尝试了前两个示例,但它没有用,可能它不是那样工作的。

我对JS特别感兴趣PHP,欢迎其他语言的读者阅读

更新

"in_array" 或 "indexOf" 或编写内联语句不是我要寻找的答案。因为我知道我开发了 8 年以上的这些功能。

让我解释一下: 由于我使用 React,所以我正在学习 JS,并且我在 javascript 语法中发现了很多新技巧,例如:

myArray.find(item => (item.id===something))  vs .find(function(item) {....})
const printHello = () => { return "hello" }  vs const printHello = function() { .... }
[1,2,3,4,...varWithOtherNumbers] vs concat

还有很多其他技巧。

所以我只是想知道是否有一个不为人知的 javascript 语法技巧。

你可以做这样的事情吗?

var a = 4;
if([1, 2, 3, 4, 5, 6, "something else"].indexOf(a) !== -1){
   console.log("It is a match!");
}

并且在 PHP 中你可以使用 in_array

我知道这不是 shorthand 和完全不同的方法,但是是的,这很管用!

PHP

$a = 5;

if(in_array($a, [1,2,3,4,5,6,7]))
{
   echo "Gotcha!";
}

更短

echo in_array($a, [1,2,3,4,5,6,7]) ? "Found you" : "Not found";

Python

这家伙有更短的版本

>>> 4 in [1, 2, 3, 4, 5] // Outputs True

Ruby

[1, 2, 3].include ? 5