Clojure
在像这样的语言中Scheme
,我确实很喜欢在 REPL 驱动模式下编写代码,当您在编辑器中编写一段代码时(Emacs
在我的例子中),将其发送到您的 REPL,使用它,然后返回到编辑器,修复发现问题并再次将代码发送到 REPL。
我尝试对 做同样的事情Node.js
,如果我限制自己只使用ES5
语法,它会起作用。但如果我使用、和 等ES6
功能,我预计会在重新评估我的声明时出现错误:const
let
class
> let foo = 1;
> let foo = 2;
TypeError: Identifier 'foo' has already been declared
Run Code Online (Sandbox Code Playgroud)
当我重新评估我的代码时,是否有任何Node.js REPL
参数,或者可能是 patched REPLs
,甚至是一些神奇的模式会清除现有的声明?Emacs
这样我就能够以Node.js
这种方式编写代码,而无需不断考虑我正在使用哪种语法和/或需要REPL
在每次重新评估时手动重新启动。