【问题标题】:Is there a JavaScript equivalent of the Python pass statement that does nothing?是否有一个 JavaScript 等价于 Python pass 语句,它什么都不做?
【发布时间】:2016-01-27 19:13:12
【问题描述】:

我正在寻找与 Python 等效的 JavaScript:

pass 语句不运行... 表示法的功能?

JavaScript中有这样的东西吗?

【问题讨论】:

  • {} 空大括号不是一回事吗?
  • @sagarchalise 这是真的
  • null 有时用于此目的,如if (condition) null;
  • 你真的不需要。如果需要,只需添加评论。但实际上,在 JavaScript 中,您只需将其完全留空。

标签: javascript python function lexical


【解决方案1】:

Python 的pass 主要存在是因为在 Python 中,空格在块中很重要。在 Javascript 中,相当于在块中放置任何内容,即 {}

【讨论】:

    【解决方案2】:

    空块需要python的pass

    try:
        # something
    except Exception:
        pass
    

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

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

    【讨论】:

      【解决方案3】:

      我发现空括号出现错误,而是在其中放了一个分号,基本上是一样的:

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

      【讨论】:

      • 空括号里面没有分号会出现什么错误?
      • 当从 HTML 中错误地删除换行符时 // 双斜杠 cmets 可以在其后注释所有内容。使用 /* */ 比使用斜线更好
      【解决方案4】:

      像python的pass一样使用//pass

      喜欢:

      if(condition){
         //pass
      }
      

      这相当于让块中没有任何内容,但出于可读性的原因是好的。

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

      【讨论】:

      • 当从 HTML 中错误地删除换行符时 // 双斜杠 cmets 可以在其后注释所有内容。使用 /* */ 比使用斜线更好
      【解决方案5】:

      不幸的是,Javascript 没有对应的 python pass

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

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

      相反,我们必须这样做:

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

      使用pass 语句的优点之一是,在开发过程中,我们可以从上面的三元运算符示例演变而来,而不必将其变成完整的if 语句。

      【讨论】:

      • 这在Python中的工作方式完全相同,你不能在条件表达式中使用pass,你必须使用条件语句
      【解决方案6】:

      在某些情况下,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 给出了字符串二进制字符串@ 中前两个'1' 之间的距离987654328@

      【讨论】:

        【解决方案7】:

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

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

        你可以使用也可以使用||运算符,但您应该知道 ||与&&相反。然后,如果您想像我们在 Python 中那样在函数或块中使用 Pass,如下所示:

        def Func(): pass
        

        在 JS 中,您应该将块留空,如下所示:

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

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

        【讨论】:

          【解决方案8】:

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

          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!')
          

          【讨论】:

            【解决方案9】:

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

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

            【讨论】:

              【解决方案10】:

              传递 if 语句的一种简单方法是输入字符串。 'pass' 更易读。

              if(true){
              'pass'
              }

              【讨论】:

                猜你喜欢
                • 2011-01-26
                • 2011-02-20
                • 2021-02-16
                • 2023-02-22
                • 2019-09-09
                • 1970-01-01
                • 2010-11-18
                • 1970-01-01
                • 2014-10-08
                相关资源
                最近更新 更多