3
我正在學習elixir,我在想如果nil
和JavaScript中的null
是一樣的,如果不是,意思是什麼?Elixir:什麼意思是無
我正在學習elixir,我在想如果nil
和JavaScript中的null
是一樣的,如果不是,意思是什麼?Elixir:什麼意思是無
它們是相似的,兩者通常用於表示沒有價值。在JavaScript中,!!null
評估爲false
,而在Elixir中,!!nil
評估爲false
。就像JavaScript的null
,你可以在一個布爾上下文中使用nil
爲「falsy」值,例如:
if nil do
IO.puts "foo"
else
IO.puts "bar"
end
將打印「欄」
我不認爲兩者之間有許多差異,也許只有幾個角落案例。例如,null > 0
在JavaScript中評估爲false
,而nil > 0
在Elixir中評估爲true
。
在Elixir中'nil> 0'漸漸變爲真,讓我想起Wat講座:https://www.destroyallsoftware.com/talks/wat :) –
Elixir中的'nil'是一個原子:'is_atom (nil)#⇒true'。 (實際上,這使得'nil> 0' truthy。) – mudasobwa
在Erlang中,很明顯'true','false'和'nil'是原子,但是在Elixir中它不太明顯(因爲語法不同),但是你可以通過'nil ==:nil#=> true'自行測試。 – Hauleth