function main () {
const input = document.querySelector("input");
const result = document.querySelector('.result')
if (!input || !result) {
return;
}
input.addEventListener("input", function(event) {
const texte = input.value
result.innerText = texte.toUpperCase()
});
}
main();
Pas de type = Pas de documentation
export function offsetTop(element, parent = null) {
let top = element.offsetTop;
while ((element = element.offsetParent)) {
if (parent === element) {
return top;
}
top += element.offsetTop;
}
return top;
}
/**
* Trouve la position de l'élément
* par rapport au haut de la page
*
* @param {HTMLElement} element
* @param {HTMLElement|null} parent
*/
export function offsetTop(element, parent = null) {
return top;
}
Langage trop dynamique
function addNumbers (a, b) {
return a + b
}
addNumbers(2, 3) // 5
addNumbers(2, '3') // '23'
addNumbers(2, input.value)
function addNumbers (a: number, b: number): number {
return a + b
}
addNumbers(2, 3) // 5
addNumbers(2, '3') // Erreur
Ne supporte que le JavaScript
Le code TypeScript doit être convertit en JavaScript
La vérification ne se fait pas à l'éxécution !
const k: number
const name: string
const isValid: boolean
const v: null
const items: string[]
const cb: (n: number) => void
const person: {firstname: string, lastname?: string, age: number}
const items: Record<string, number>
const arr: Array<string>
const a: Map<string, number>
const b: Promise<string>
const point: [number, number]
never
any
unknown
type Person = {firstname: string, lastname: string}
const a: Person
const a = ['hello']
// Cast pour spécifier le type
const a = [] as string[]
const a: string[] = []
type Demo = string | number | null
type Person = {firstname: string, lastname: string}
type AgedPerson = Person & {age: number}