
Un impressionant tutorial quand à la création d’un compteur en CSS3 sans aucune ligne de JavaScript ni même une image. Le tout basé sur les animations en CSS.
La seule image utilisée est celle du motif en bois pour le fond de la page. Aucune image ou JavaScript n’ont été utiliser pour le code du chrono, tant pour l’affichage que son comportement…
si la librairie -prefix-free a été utilisée c’est uniquement pour clarifier et raccourcir le code du CSS
En un mot, impressionant !
TypedJS utilise les informations de typage de paramètres mis en commentaire des fonctions JavaScript pour effectuer une évaluation à la volée sur ces mêmes entrées et leurs usages.
Par exemple:
autre exemple:
Si l’évaluation de la cohérence des paramètres échoue, une exception se produit, de même si la valeur retournée par la fonction est en contradiction avec les spécifications celle-ci.
Comme les signatures de type fournissent une forme limitée de spécification aux fonctions, TypedJS est à même d’effectuer un test de cohérence rapide et plus rigoureux au processus de développement en Javascript.
Les informations de typage des fonctions sont semblables à ceux du langage Haskell.
Trois différents types primitifs sont supportés :
NumberStringBoolean
Que l’ont peut mixer ensemble indifféremment :
Number | String // Number ou StringBoolean | Number // Boolean ou Number...
De même pour les tableaux de types simples :
[Number] // Array of Numbers. Example instances => [3,4,5] or [45,62,34,78,23][Number | String] // Array of Numbers or Strings. Example instance => [3,"s",5,6,"h"]
Ou des énumérations de données de types multiples :
(Number, String, Boolean, Boolean) // An example instance => [4,"hello",true,true](Boolean, Boolean) // An example instance => [true, false]
Sans oublier les définitions d’objets :
{key1: String, key2:[Number], key3:{subkey1:String, subkey2: Number}}
TypedJS devrait bientôt fournir des formes plus complexes de spécifications et d’analyse des sources.
TypdesJS est distribué sous licence MIT.
Sources : https://github.com/Proxino/TypedJS
Exemples : https://github.com/Proxino/TypedJS/blob/master/examples/test.js
The table below shows the 107 elements currently in the
HTML5 working draft