Source: https://members.loria.fr/ABelaid/Enseignement/isc-l2/cours3-javascript.pdf