[英]Is there a JavaScript equivalent of the Python pass statement that does nothing?
我正在寻找与 Python 等效的 JavaScript:
pass
语句不运行...
符号的 function?
JavaScript里面有这种东西吗?
Python 的pass
主要存在是因为在 Python 中空格在块内很重要。 在 Javascript 中,相当于在块中不放任何东西,即{}
。
使用//pass
就像 python 的pass
喜欢:
if(condition){
//pass
}
这相当于让块中什么都没有,但出于可读性原因是好的。
空块需要python的pass 。
try:
# something
except Exception:
pass
在javascript中,您可以简单地捕获一个空块
try {
// some code
} catch (e) {
// This here can be empty
}
不幸的是,Javascript 没有等效的 python pass
。
例如,在 javascript 中不可能做这样的事情:
process.env.DEV ? console.log('Connected..') : pass
相反,我们必须这样做:
if (process.env.DEV) console.log('Connected..')
使用pass
语句的好处之一是,在开发过程中,我们可以在这种情况下从上面的三元运算符示例演变而来,而不必将其转换为完整的if
语句。
我知道这是一个非常古老的问题,但我想也可以做这样的事情。
您可以声明一个包含字符串(或其他内容)的常量。
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!')
在某些情况下, 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' 之间的距离
你可以创建一个实际上什么都不做的函数。
const pass = () => {}
try {
pass()
} else {
console.log('helloworld!')
}
我发现我在使用空大括号时出现错误,而是在那里放了一个分号,基本上是一样的:
try { //something; } catch (err) { ; }
如果您只想在三元运算符中或仅在 JS 中的 if 语句中使用 pass 运算符,您可以这样做:
a === true && console.log('okay')
您也可以使用 || 运算符,但您应该知道 || 与&&相反。 然后,如果您想像我们在 Python 中那样在函数或块中使用 Pass ,如下所示:
def Func(): pass
在 JS 中,您应该将块留空,如下所示:
if(){
console.log('ok')
}else{}
最后,Python中没有大括号,所以这是我们有pass的主要原因。
传递 if 语句的一种简单方法是输入字符串。 “通过”更具可读性。
if(true){ 'pass' }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.