Elixir:nil是什么意思

Liz*_*ody 6 null elixir

我正在学习长生不老药,我想知道,如果nil是一样的null在JavaScript中,如果没有,是什么意思?

hel*_*s35 5

它们是相似的,两者通常用于表示缺少值.在JavaScript中,!!null求值为false,而在Elixir中,!!nil求值为false.就像JavaScripts一样null,您可以nil在布尔上下文中用作"虚假"值,例如:

if nil do
  IO.puts "foo"
else
  IO.puts "bar"
end
Run Code Online (Sandbox Code Playgroud)

将打印"酒吧"

除了一些极端情况之外,我想不出两者之间的许多差异.例如,null > 0计算结果为false在JavaScript中,而nil > 0计算结果为true在药剂.

  • Elixir中的`nil`是一个原子:`is_atom(nil)#⇒true`.(实际上,这使得'nil> 0` truthy.) (6认同)
  • 在 Elixir 中 `nil > 0` 计算为 true 的事实让我想起了 Wat 谈话:https://www.destroyallsoftware.com/talks/wat :) (2认同)