class Meal { … }
import { foo } from 'ma_lib.js'
(e) => e+1
`Hello ${name}`
return { x, y }
const { x, y } = position()
{ x, ...pos }
class Meal {
constructor(food) {
this.food = food
}
eat() {
const food = this.food
this.food = null
return food
}
}
⚠ this
n'est pas optionnel en Javascript.
|
|
Classes | Method properties | Le couteau suisse |
---|---|---|
|
|
|
Callback hell ?
résolu avec async/await !
Javascript | Kotlin |
---|---|
|
|
|
|
|
|
|
|
"" + 1
"" + (() => 1)
(1 as any)[0]
any
is hell 🤮 but useful 🤫
type StringOrNumber = string | number;
type ProcessStates = "open" | "closed";
type OddNumbersUnderTen = 1 | 3 | 5 | 7 | 9;
capable de gérer : Union & Intersection types, Duck Typing, anonymous object types...
Classes | Method properties | Le couteau suisse |
---|---|---|
|
|
|
debugger
)
| Angular « sur le marché depuis plus longtemps » ?? FAUX : React (2013) profité du temps de dev de Angular >= 2 (2016) pour percer Angular a « bien plus d'outils et librairies compatibles » ?? pas sûr, écosystème React très riche performance : Angular n'est PAS plus performant (comparaison) |
|
|
data
+ props
)
|
|
React | Vue.js | Angular | |
---|---|---|---|
documentation | bonne | ||
apprentissage | moyen | moyen | long |
flexibilité, nombreux choix à faire | oui | moyen | framework complet |
poids | moyen | léger | moyen/gros |
compilation | pour JSX | optionnel (nécessaire pour les Single File Component) | pour Typescript |
vérification de types | possibilité d’utiliser Typescript | possibilité d’utiliser Typescript mais pas complètement mature dans IDE | Typescript |
React | Vue.js | Angular | |
---|---|---|---|
taille équipe | petite | grande | |
taille application | moyenne ou grande avec Redux | petite | grande |
travail avec designers en HTML | difficile à cause de JSX | possible | possible |
utilisé par | Airbnb, Dropbox, eBay, Facebook, Netflix... | Adobe, Alibaba, Baidu, Expedia, GitLab, Laravel, Xiaomi | Google, Microsoft, Deutsche Bank, Forbes, PayPal, Samsung |