我正在寻找类似 Python 的 JavaScript:
不运行 ...符号函数的 pass语句?
...
pass
JavaScript 中有这样的东西吗?
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
//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语句。
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”之间的距离
j
i
count
binstrN
如果只想在三元运算符中使用 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;也可能是好的。
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' }