如果我用Coffeescript 1.3.3打开REPL并输入:
y ?= 5
或
y = 5
y ||= 6
我得到一个错误,y未定义...编译最后一个有效,但第一个仍然是错误..这是预期的吗?
答案 0 :(得分:1)
coffee> y = 5
5
coffee> y ||= 6
Error: In repl, the variable "y" can't be assigned with ||= because it has not been defined.
这是因为每次评估都涉及单独的编译。解决方法是将其作为全局对象的属性进行访问。
coffee> y = 5
5
coffee> global.y
5
coffee> @y
5
coffee> @y &&= 6
6
coffee> y
6