簡體   English   中英

Node.Js 中有海象運算符嗎?

[英]Is there a walrus operator in Node.Js?

Python3.8 中有一個名為walrus的新運算符,它可以在條件內分配新變量。 Node.Js中是否有類似的東西?

my_var = 5
if (result := my_var == 5):
    print(result)

不需要單獨的運算符,賦值已經是 Javascript 中的表達式:

"use strict";
var my_var = 5;
var result;
if (result = my_var == 5){
  console.log(result)
}

分配和比較作為一個表達式。 要使其在嚴格模式下工作並避免 linter 投訴,請在作業中添加括號。

const my_var = 5;
let result;
if ((result = my_var) === 5) {
  console.log(result);
}

https://eslint.org/docs/rules/no-cond-assign#except-parens

你可以這樣做:

const myNumber = 2;
let newNumber;

if (newNumber = myNumber === 2) {
  console.log('this works!');
}

它有點相同,它在同一行中有一個賦值和一個比較。 你顯然可以用這個代替你的問題:

const my_var = 5;
let result;
if(result = my_var === 5) {
 console.log(result);
}

如您所見,必須事先聲明一個 let 。

除非您不使用嚴格模式,否則這是行不通的。 是為了防止出錯。

您可以在 MDN 上查看文檔的這一部分以獲取更多信息

如果您不使用嚴格模式,您可以執行@juanpa.arrivillaga 提到的操作,我再次強烈建議您這樣做。 嚴格模式將為您節省 100 倍的頭痛。

是什么

[英]What is the <!--​ operator in Node.js?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM