2017-09-27 7 views

答えて

3

これらは似ていますが、どちらも値の欠如を示すためによく使用されます。 JavaScriptでは、!!nullfalseと評価され、エリクシルでは!!nilと評価され、falseと評価されます。ただ、JavaScriptのnullように、あなたは、例えば、ブール値のコンテキストで「falsy」の値としてnilを使用することができます。

if nil do 
    IO.puts "foo" 
else 
    IO.puts "bar" 
end 

は、私は2つの間の多くの相違を考えることはできません「バー」

を印刷します、おそらくいくつかの角の場合以外。たとえば、null > 0はJavaScriptでfalseと評価され、nil > 0はエリクシルでtrueと評価されます。

+0

エリクサーで 'nil> 0'が真になるという事実は、ワトの話を思い出させます:https://www.destroyallsoftware.com/talks/wat –

+5

エリクサーの' nil'はアトムです: 'is_atom (nil)#⇒true'となります。 (実際には 'nil> 0'は真実です)。 – mudasobwa

+0

Erlangでは、' true'、 'false'、' nil'は原子であることは明らかですが、Elixirではそれがはっきりしません'nil ==:nil#=> true'を通してあなた自身でテストすることができます。 – Hauleth

関連する問題