ELM是一种纯功能的、强类型的、反应性的、事件驱动的Web前端语言,与其他客户机框架不同,Elm语言肯定不是“另一个JavaScript库”,但是它也有很多优点。
1.没有HTML和JavaScript的客户端编程
无需在JavaScript中生成HTML,也无需使用某些精简逻辑规则的自定义模板语言。使用Elm,您只有一种语法和一种语言,这是它的全部荣耀。
2.一致性
由于几乎所有的概念都基于函数和一些结构,因此语法非常简洁。您不必担心是否在实例或类级别定义了某个方法,或者它是否只是一个函数。它们都是在模块级别定义的功能。而且,迭代列表的方法没有上百种。
在大多数语言中,关于代码是否按照语言的方式编写,总是存在这样的争论。很多习语需要掌握。在Elm中,如果它编译,则可能是“Elm”方式。
3.表现力
Elm语法虽然简洁,但非常有表现力。这主要是通过使用联合类型、正式类型声明和函数样式来实现的。所有这些都鼓励使用更小的函数。最后,您会得到几乎是自文档化的代码。
4.没有null
当您长时间使用Java或JavaScript时,null会成为编程中不可避免的一部分。而且,尽管我们经常看到NullPointerExceptions和各种TypeErrors, ,但我们仍然不认为真正的问题是null的存在。
使用Elm后,情况很快就明朗了。不使用null不仅可以避免我们一次又一次地看到运行时null引用错误,还可以通过清晰地定义和处理可能没有实际值的所有情况来帮助我们编写更好的代码,从而还可以通过不延迟null处理直到出现故障来减少技术负担。</