delete obj["key"]
similaire à obj["key"]=undefined
mais "key" ne sera plus dans les propriétés renvoyées par Object.keys(obj)
Object.assign(obj1,obj2) copie propriétés de obj2 vers obj1 (écrase, penser à obj1=obj2)
for (let couleur of couleurs) console.log(couleur);
array1.push(...array2);
mergeResult = [].concat(array1, array2)
couleurs=["jaune","rouge","bleu"] events.includes(event)) //permet de savoir si valeur contenue dans tableau
Voir fonctions de haut-niveau
// Ancienne notation
Rabbit=function(type){
this.type=type;
this.speak=function(message){
afficher("le lapin "+this.type+" a dit: <strong>"+message+"</strong>",true,true)
}
this.toString=function(){ return "un lapin "+this.type}
this.hasard="attributs dynamiques ne marche qu'avec 'class'"
}
// Nouvelle notation
class Lapin
{
constructor(type){ // pas de mot clé "function", mot clé constructor
this.type=type;
}
speak(message){ // pas de mot clé "function" pour méthodes
afficher("le lapin "+this.type+" a dit: <strong>"+message+"</strong>",true,true)
}
toString(){ return "un lapin "+this.type}
get hasard() { return Math.floor(Math.random()*10)+1} //getter = pseudo attribut
}
f=function(message){alert(message+' a='+this.a)} // Call appelle f comme une méthode de l'objet passé en paramètre 1
class LapinGris extends Lapin {
constructor () {
super("gris");
}
}
//f.call({a:12},"test")
//gaston=new Rabbit('gris'); //function
//gaston=new Lapin('gris'); //class
gaston=new LapinGris(); //class