是否有一个与 Python pass 语句等价的 JavaScript 语句不执行任何操作?

我正在寻找类似 Python 的 JavaScript:

不运行 ...符号函数的 pass语句?

JavaScript 中有这样的东西吗?

124245 次浏览

Python 的 pass之所以存在,主要是因为在 Python 中,空格在块中起重要作用。在 Javascript 中,相当于在块中不放任何东西,即 {}

空块需要 python 的 通过

try:
# something
except Exception:
pass

在 javascript 中,您可以简单地捕获一个空块

try {
// some code
} catch (e) {
// This here can be empty
}

我发现我用空括号得到了一个错误,相反,我在里面放了一个分号,基本上是一样的:

try { //something; } catch (err) { ; }

像蟒蛇的 pass一样使用 //pass

例如:

if(condition){
//pass
}

这相当于不在代码块中留下任何内容,但是出于可读性的考虑,这样做是有好处的。

参考 https://eslint.org/docs/rules/no-empty

不幸的是,Javascript 没有与 pythonpass等价的代码。

例如,在 javascript 中不可能做这样的事情:

process.env.DEV ? console.log('Connected..') : pass

相反,我们必须这样做:

if (process.env.DEV) console.log('Connected..')

使用 pass语句的优点之一是,在开发过程中,我们可以从上面的三元操作符示例演变到本例中,而不必将其转换为完整的 if语句。

在某些情况下,pass可以只是 ;

现实生活中的一个例子可以是:

var j;
for (j = i + 1; j < binstrN.length && binstrN[j] != 1; j++) {
}
let count = j - i;

是一样的

var j;
for (j = i + 1; j < binstrN.length && binstrN[j] != 1; j++);
let count = j - i;

这里我们尝试将 j移动到下一个“1”,而 i在它之前已经是一个“1”,因此 count给出了字符串二进制字符串 binstrN中前两个“1”之间的距离

如果只想在三元运算符中使用 pass 运算符,或者只在 JS 中的 If 语句中使用 pass 运算符,可以这样做:

a === true && console.log('okay')

也可以使用 | | 运算符,但应该知道 | | 是 & & 的反义词。然后,如果你想在函数或块中使用 Pass,就像我们在 Python 中所做的那样:

def Func(): pass

在 JS 中,你应该让代码块保持空白,如下所示:

 if(){
console.log('ok')
}else{}

最后,在 Python 中没有大括号,所以这就是为什么我们有一个 pass 的主要原因。

我知道这是一个非常古老的问题,但我想这也是可能的,做这样的事情。
可以声明包含字符串(或其他内容)的常量。

const pass = 'pass';

const pass = null;也可能是好的。

if (condition) {
pass
} else {
console.log('hi!');
}

然而,也请注意,这可能是一个更好的选择。

if (condition) {}
else {
console.log('cool!');
}

Python 没有括号来确定代码块与 javascript 相似的位置,所以空块会抛出错误(这就是为什么要将 pass语句放在空块中)。通过回答这个问题,我所做的只是创建了一个常量,就好像它是一个语句一样。这个概念非常接近 Python 用省略号替换 pass。
Python 中有些人喜欢使用 ...而不是 pass

if condition:
...
else:
print('Python!')

你可以创建一个什么都不做的函数。

const pass = () => {}
try {
pass()
} else {
console.log('helloworld!')
}

传递 if 语句的一个简单方法是输入一个字符串。

if(true){
'pass'
}