Elm 最具吸引力的功能之一是初学者友爱的编译器,不是生成难以浏览的消息,而是生成代码,可以赞助你修复你的代码。如不雅你在进修该说话,编译器本身就可以大年夜有助益。
module Main exposing (..)import Html exposing (..)-- MAINmain : Program Never Model Msgmain = Html.program { init = init , update = update , view = view , subscriptions = subscriptions }-- INITtype alias Model = Stringinit : ( Model, Cmd Msg )init = ( "Hello World!", Cmd.none )-- UPDATEtype Msg = DoNothingupdate : Msg -> Model -> ( Model, Cmd Msg )update msg model = case msg of DoNothing -> ( model, Cmd.none )-- VIEWview : Model -> Html Msgview model = div [] [text model]-- SUBSCRIPTIONSsubscriptions : Model -> Sub Msgsubscriptions model = Sub.none
它许可你编写类型安然的代码,而不会太有侵人道;你可以编写类型,但你不须要如许做,因为它们可以被揣摸出来。这许可创建快速原型,而不必过度推敲细节,但一旦你的原许可以工作,你可以添加类型以史段в倍结实。
开端应用 Elm
PureScript
PureScript 是由 Phil Freeman 创建的纯函数式强类型的编程说话。它旨在给可用的 JavaScript 库供给强大年夜的兼容性,在精力上类似于 Haskell,但保持 JavaScript 的核心。
PureScript 的一个强项是它的极简主义。它不包含在其他说话中被认为是必须的功能的任何库。例如,不是编译器本身包含生成器和 promises,而是你可以应用特定的库来完成义务。你可认为所需功能选择想要的实现,如许可以在应用 PureScript 时实现高效和个性化的体验,同时保持身成的代码尽可能小。
其编译器的另一个明显特点就是可以或许在保持与 JavaScript 的兼容性的同时, 用库和对象生成整洁和可读的代码。
像其他说话一样,PureScript 有本身的构建对象叫做 Pulp,可以与 Gulp 进行比较, 然则用于以这种说话编写的项目。
module Main whereimport Preludeimport Data.Foldable (fold)import TryPureScriptmain = render $ fold [ h1 (text "Try PureScript!") , p (text "Try out the examples below, or create your own!") , h2 (text "Examples") , list (map fromExample examples) ] where fromExample { title, gist } = link ("?gist=" <> gist) (text title) examples = [ { title: "Algebraic Data Types" , gist: "37c3c97f47a43f20c548" } , { title: "Loops" , gist: "cfdabdcd085d4ac3dc46" } , { title: "Operators" , gist: "3044550f29a7c5d3d0d0" } ]
开端应用 PureScript
CoffeeScript
CoffeeScript 是一种说话,旨在公开 JavaScript 的优胜部分,同时供给更整洁的语法并保存语义。固然该说话的风行度近年来一向在减弱,但它正在改变偏向,如今正在获得一个新的重要版本,为 ES2015+ 的功能供给支撑。
关于类型体系,与 Elm不合,即另一种 ML 式的说话,PureScript 支撑高等类型的功能,如取自 Haskell 的 higher-kinded types(高等类类型) 以及 type classes(类型类), 大年夜而许可创建复杂的抽象。
你用 CoffeeScript 编写的代码被直接翻译为可读的 JavaScript 代码,并保持与现有库的兼容性。大年夜版本 2 开端,编译器将产生与最新版本的 ECMAScript 兼容的代码。例如,每次你应用一个类,你就获得一个 JavaScript 类。别的,如不雅你应用 React,也有好消息: JSX 与 CoffeeScript 兼容。
【编辑推荐】
- JavaScript的内部人士披露其将来成长偏向_IT技巧周刊第483期
- 外媒速递:Web机能基本指南—JavaScript分步优化攻略
- JavaScript新规范将惹人异步函数与内存共享机制
- 外媒速递:2017年七大年夜最佳JavaScript框架及好坏概述
- 外媒速递:十款最佳JavaScript编辑器周全评测
推荐阅读
2. ?? ——NULL 归并运算符有效的类型有:class/interface name, self, array, callable, bool, float, int and string. PHP7于2015年11月正式宣布,本次更新可谓是PHP的重要里程碑,它将带来明>>>详细阅读
本文标题:10 个最终编译成 JavaScript 的脚本语言
地址:http://www.17bianji.com/lsqh/37664.html
1/2 1