LiveScript es un lenguaje de programación funcional que se compila en JavaScript . Fue creado por Jeremy Ashkenas , el creador de CoffeeScript, junto con Satoshi Muramaki, George Zahariev y muchos otros. [2] No debe confundirse con JavaScript (durante un breve período en la década de 1990, LiveScript fue el nombre de JavaScript). [3]
Paradigma | multiparadigma , funcional , orientado a objetos |
---|---|
Diseñada por | Jeremy Ashkenas, Satoshi Murakami y George Zahariev |
Desarrollador | Jeremy Ashkenas, Satoshi Murakami y George Zahariev |
Apareció por primera vez | 2011 |
Lanzamiento estable | LiveScript 1.6.1 / 14 de julio de 2020 [1] |
Disciplina de mecanografía | dinámico , débil |
SO | Multiplataforma |
Licencia | MIT |
Extensiones de nombre de archivo | .ls |
Sitio web | livescript |
Influenciado por | |
JavaScript , Haskell , CoffeeScript , F # |
Sintaxis
LiveScript es un descendiente indirecto de CoffeeScript . [4] El siguiente programa de hola mundo está escrito en LiveScript, pero también es compatible con Coffeescript:
hola = -> consola . log 'hola mundo!'
Si bien la llamada a una función se puede hacer con hello()
paréntesis vacíos , LiveScript trata el signo de exclamación como una abreviatura de un solo carácter para las llamadas a funciones con cero argumentos:hello!
LiveScript presenta una serie de modismos incompatibles:
Destrozar nombre
En el momento de la compilación, el analizador de LiveScript convierte implícitamente el caso de kebab (variables discontinuas y nombres de funciones) a camelcase .
hola-mundo = -> consola . log '¡Hola, mundo!'
Con esta definición, las dos siguientes llamadas son válidas. Sin embargo, se recomienda llamar con la misma sintaxis de guiones.
¡Hola Mundo!¡Hola Mundo!
Esto no impide que los desarrolladores utilicen camelcase de forma explícita o snakecase . Sin embargo, la denominación discontinua es común en LiveScript idiomático [5]
Tubería
Al igual que otros lenguajes de programación funcional como F # y Elixir , LiveScript admite el operador de tubería, |>
que pasa el resultado de la expresión a la izquierda del operador como un argumento a la expresión a la derecha. Tenga en cuenta que en F # el argumento pasado es el último argumento, mientras que en Elixir es el primero.
"¡Hola!" |> capitalizar |> consola . log #> ¡Hola!
Operadores como funciones
Cuando están entre paréntesis, los operadores como not
o +
pueden incluirse en las canalizaciones o llamarse como si fueran funciones.
111 |> ( + ) 222 #> 333( + ) 1 2 #> 3
Referencias
- ^ "Lanzamientos de LiveScript" . Consultado el 21 de febrero de 2021 .
- ^ "Página de colaboradores de LiveScript" . Consultado el 20 de junio de 2015 .
- ^ "Grupo Comunitario de Educación Web W3" . Consultado el 20 de junio de 2015 .
- ^ http://livescript.net/
- ^ http://www.preludels.com/