WunderQuiz

dashboard

Home

search

Recherche

help_outline

FAQ & Info

apps

Collections

JavaScript - ES5 - Comment marche 'this' ?

quiz image

Le petit this est l'horreur pour la plupart des développeurs JavaScript (ES5).
Connaissez-vous ses secrets ?
JavaScript’s this: how it works

visibility529, numbers10, Crée par : hecmec

JavaScript - ES5 - Comment marche 'this' ?

Le petit this est l'horreur pour la plupart des développeurs JavaScript (ES5). Connaissez-vous ses secrets ? JavaScript’s this: how it works

TechnoCodeInformatiqueJavaScriptWeb

Quiz Preview

Quel est le résultat de ce code en mode non-strict ?




function foo() {
return this;
}
foo();

the Window object
undefined
null
an empty object, {}
ⓘ

Ici, "this" est un paramètre implicite qui est mis à une valeur par défaut. En mode non-strict, c'est Window.

Quel est le résultat de ce code en mode strict ?




function foo() {
'use strict';
return this === undefined ? 'this is undefined' : this;
}
foo();

null
'this is undefined'
an empty object, {}
the Window object
ⓘ

Ici, "this" est un paramètre implicite qui est mis à une valeur par défaut. En mode strict, c'est undefined.

Quel doit être le premier paramètre du call pour obtenir la chaîne "Fairephone 2" ?



function telephone(suffix) {
return this.name + suffix;
}
telephone.call(_____, ' 2');

fairephone
['fairephone']
{ name: 'fairephone' }
'fairephone'
ⓘ

Ici, il faut un object avec une propriété 'name'.

Qu'est-ce que result ?



var that;
function Thing() {
that = this;
that.name = 'foo';
}
var inst = new Thing();
inst.name = 'bar';
var result = that.name;

'bar'
'foobar'
undefined
'foo'
ⓘ

Le opérateur "new" crée un nouvel objet et le transmet au constructeur via "this".
"This" est le objet crée.

Qu'est-ce que p et p.x ?



function Point(x, y) {
this.x = x;
this.y = y;
}
var p = Point(7, 5);

p == 7, p.x renvoie une erreur
p est l'objet Window, p.x == 7
p est un objet de type Point, p.x == 7
p est undefined, p.x renvoie une erreur
ⓘ

On a oublié le "new". Vous obtenez un avertissement en mode strict (ceci === indéfini) :

Quelle est la sortie console de ce code ?



var obj = {
foo: function () {
console.log(this === obj);
}
}
obj.foo();

true
undefined
false
0
ⓘ

"this" fait référence à l'objet sur lequel la méthode a été invoquée.

Qu'est-ce que result ?



var foo = 1;
this.foo = 2;
var result = foo + this.foo;

2
4
undefined
3
ⓘ

Ici, 'foo' est dans le scope global. Et 'this' est le scope global. "foo" est 2, et 2 + 2 = 4. Utiliser le scope global ainsi est une mauvaise pratique.

Quelle est la sortie console de ce code ?



var name = 'foo';
var o = {
name: 'bar',
foo: function() {
var name = 'baz';
console.log(eval('this.name'));
}
};
o.foo();

'baz'
'foo'
undefined
'bar'
ⓘ

"this" fait référence à l'objet sur lequel a été invoqué la méthode.

Qu'est-ce que conter.count ?



var counter = {
count: 0,
inc: function () { this.count++; }
};
function callback(func) {
func();
}
callback(counter.inc.bind(counter));
counter.count;

1
2
0
undefined
ⓘ

Ici, la méthode est appelée hors context, mais liée au counter via bind.

Qu'est-ce que conter.count ?



var foo = {
bar: function(){ return this.baz; },
baz: 1
};
var f = foo.bar;
typeof f();

"function"
"undefined"
"number"
"object"
ⓘ

Ici, la méthode foo.bar est extrait vers f et perd son context.

quiz image

JavaScript: Web page integration

visibility  432 vuesnumbers10 questions
TechnoWebJavaScriptCodeInformatique
quiz image

JavaScript: Les bases

visibility  512 vuesnumbers12 questions
TechnoInformatiqueWebJavaScript
quiz image

CSS Flex Layout - Partie 2

visibility  306 vuesnumbers12 questions
TechnoInformatiqueProgramationCSS
quiz image

L'histoire de l'internet

visibility  713 vuesnumbers19 questions
TechnoHistoireInformatique
quiz image

Devenez un pro du SEO : Optimisez votre référencement sur Google et autres moteurs de recherche

visibility  279 vuesnumbers10 questions
TechnoWebSEOMarketing
quiz image

CSS Flex Layout - Partie 1

visibility  336 vuesnumbers12 questions
TechnoInformatiqueProgramationCSS
quiz image

Reconnaitre les avions, Boeing vs Airbus

visibility  1626 vuesnumbers21 questions
TechnoAvionsAirbusBoeing
quiz image

Histoire de l'automobile - Partie 1

visibility  1203 vuesnumbers12 questions
TechnoAutoHistoire
quiz image

Les plus grandes Inventions et leurs créateurs ou créatrices

visibility  375 vuesnumbers20 questions
TechnoScienceHistoire
quiz image

Histoire de l'automobile - Partie 2

visibility  663 vuesnumbers11 questions
TechnoAutoHistoire
quiz image

Panneaux de danger, partie 2 - Code de la route

visibility  567 vuesnumbers11 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Panneaux de signalisations des services, partie 1 - Code de la route

visibility  372 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Marques de voitures occidentales pour les connaisseurs

visibility  622 vuesnumbers15 questions
TechnoVoitureAutomobile
quiz image

Reconnaissez-vous les modèles de Peugeot ?

visibility  460 vuesnumbers13 questions
TechnoAutomobile
quiz image

Histoire de l'aviation - Partie 1

visibility  868 vuesnumbers10 questions
TechnoAvionHistoire
quiz image

UX & IoT (Internet of Things)

visibility  313 vuesnumbers16 questions
Techno
quiz image

Panneaux d'obligation - Code de la route

visibility  384 vuesnumbers13 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Les meilleures alternatives à Twitter/X en 2024 avec leurs logos

visibility  249 vuesnumbers14 questions
TechnoRéseauxInternetSocial
quiz image

Panneau d’information - Code de la route

visibility  368 vuesnumbers15 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Marques de voiture pour les Nuls

visibility  815 vuesnumbers13 questions
TechnoVoitureAutomobile
quiz image

Panneaux de priorité - Code de la route

visibility  600 vuesnumbers9 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Marques de voitures orientales pour les connaisseurs

visibility  757 vuesnumbers10 questions
TechnoAutoAutomobileVoiture
quiz image

Panneaux de signalisations des services, partie 2 - Code de la route

visibility  398 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Les avions de ligne pour les nuls

visibility  2104 vuesnumbers14 questions
TechnoAvion
quiz image

Panneaux de danger, partie 3 - Code de la route

visibility  388 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Logos de marques de voitures européennes

visibility  819 vuesnumbers14 questions
VieTechnoVoiture
quiz image

Logos de marques de voitures non-européennes

visibility  540 vuesnumbers17 questions
VieTechnoVoiture
quiz image

Le langage SMS pour les nuls - 3ème

visibility  594 vuesnumbers10 questions
TechnoAdolescentSMSPortable
quiz image

Connaissez-vous la marque de voitures Tesla ?

visibility  411 vuesnumbers11 questions
TechnoAutomobile
quiz image

Panneaux d'interdiction - Code de la route

visibility  940 vuesnumbers11 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Connaissez vous les différent types de vélo ?

visibility  370 vuesnumbers16 questions
SportTechnoVélo
quiz image

Histoire de l'aviation - Partie 2

visibility  1206 vuesnumbers10 questions
TechnoAvionHistoire
quiz image

Reconnaitre les réseaux sociaux à partir de leurs icônes (partie 1)

visibility  842 vuesnumbers11 questions
SocialTechnoRéseaux-Sociaux
quiz image

Reconnaitre les réseaux sociaux à partir de leur icône (partie 2)

visibility  576 vuesnumbers11 questions
SocialRéseaux-SociauxTechno
quiz image

Panneaux de danger, partie 1 - Code de la route

visibility  496 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Une fusée: Ariane 5

visibility  568 vuesnumbers14 questions
TechnoEspacefuséefusee
quiz image

Panneaux temporaires - Code de la route

visibility  444 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Panneaux d'entrée en zones - Code de la route

visibility  380 vuesnumbers9 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Le langage SMS pour les nuls !

visibility  1069 vuesnumbers10 questions
TechnoAdolescentSMSPortable
quiz image

Langage SMS pour les nuls - 2ème partie

visibility  595 vuesnumbers11 questions
TechnoPortableAdolescent
quiz image

JavaScript: Web page integration

visibility  432 vuesnumbers10 questions
TechnoWebJavaScriptCodeInformatique
quiz image

JavaScript: Les bases

visibility  512 vuesnumbers12 questions
TechnoInformatiqueWebJavaScript
quiz image

CSS Flex Layout - Partie 2

visibility  306 vuesnumbers12 questions
TechnoInformatiqueProgramationCSS
quiz image

L'histoire de l'internet

visibility  713 vuesnumbers19 questions
TechnoHistoireInformatique
quiz image

Devenez un pro du SEO : Optimisez votre référencement sur Google et autres moteurs de recherche

visibility  279 vuesnumbers10 questions
TechnoWebSEOMarketing
quiz image

CSS Flex Layout - Partie 1

visibility  336 vuesnumbers12 questions
TechnoInformatiqueProgramationCSS
quiz image

Reconnaitre les avions, Boeing vs Airbus

visibility  1626 vuesnumbers21 questions
TechnoAvionsAirbusBoeing
quiz image

Histoire de l'automobile - Partie 1

visibility  1203 vuesnumbers12 questions
TechnoAutoHistoire
quiz image

Les plus grandes Inventions et leurs créateurs ou créatrices

visibility  375 vuesnumbers20 questions
TechnoScienceHistoire
quiz image

Histoire de l'automobile - Partie 2

visibility  663 vuesnumbers11 questions
TechnoAutoHistoire
quiz image

Panneaux de danger, partie 2 - Code de la route

visibility  567 vuesnumbers11 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Panneaux de signalisations des services, partie 1 - Code de la route

visibility  372 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Marques de voitures occidentales pour les connaisseurs

visibility  622 vuesnumbers15 questions
TechnoVoitureAutomobile
quiz image

Reconnaissez-vous les modèles de Peugeot ?

visibility  460 vuesnumbers13 questions
TechnoAutomobile
quiz image

Histoire de l'aviation - Partie 1

visibility  868 vuesnumbers10 questions
TechnoAvionHistoire
quiz image

UX & IoT (Internet of Things)

visibility  313 vuesnumbers16 questions
Techno
quiz image

Panneaux d'obligation - Code de la route

visibility  384 vuesnumbers13 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Les meilleures alternatives à Twitter/X en 2024 avec leurs logos

visibility  249 vuesnumbers14 questions
TechnoRéseauxInternetSocial
quiz image

Panneau d’information - Code de la route

visibility  368 vuesnumbers15 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Marques de voiture pour les Nuls

visibility  815 vuesnumbers13 questions
TechnoVoitureAutomobile
quiz image

Panneaux de priorité - Code de la route

visibility  600 vuesnumbers9 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Marques de voitures orientales pour les connaisseurs

visibility  757 vuesnumbers10 questions
TechnoAutoAutomobileVoiture
quiz image

Panneaux de signalisations des services, partie 2 - Code de la route

visibility  398 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Les avions de ligne pour les nuls

visibility  2104 vuesnumbers14 questions
TechnoAvion
quiz image

Panneaux de danger, partie 3 - Code de la route

visibility  388 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Logos de marques de voitures européennes

visibility  819 vuesnumbers14 questions
VieTechnoVoiture
quiz image

Logos de marques de voitures non-européennes

visibility  540 vuesnumbers17 questions
VieTechnoVoiture
quiz image

Le langage SMS pour les nuls - 3ème

visibility  594 vuesnumbers10 questions
TechnoAdolescentSMSPortable
quiz image

Connaissez-vous la marque de voitures Tesla ?

visibility  411 vuesnumbers11 questions
TechnoAutomobile
quiz image

Panneaux d'interdiction - Code de la route

visibility  940 vuesnumbers11 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Connaissez vous les différent types de vélo ?

visibility  370 vuesnumbers16 questions
SportTechnoVélo
quiz image

Histoire de l'aviation - Partie 2

visibility  1206 vuesnumbers10 questions
TechnoAvionHistoire
quiz image

Reconnaitre les réseaux sociaux à partir de leurs icônes (partie 1)

visibility  842 vuesnumbers11 questions
SocialTechnoRéseaux-Sociaux
quiz image

Reconnaitre les réseaux sociaux à partir de leur icône (partie 2)

visibility  576 vuesnumbers11 questions
SocialRéseaux-SociauxTechno
quiz image

Panneaux de danger, partie 1 - Code de la route

visibility  496 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Une fusée: Ariane 5

visibility  568 vuesnumbers14 questions
TechnoEspacefuséefusee
quiz image

Panneaux temporaires - Code de la route

visibility  444 vuesnumbers10 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Panneaux d'entrée en zones - Code de la route

visibility  380 vuesnumbers9 questions
VieTransportsVoituresRoutierCodePermis-de-conduireCirculationCultureG
quiz image

Le langage SMS pour les nuls !

visibility  1069 vuesnumbers10 questions
TechnoAdolescentSMSPortable
quiz image

Langage SMS pour les nuls - 2ème partie

visibility  595 vuesnumbers11 questions
TechnoPortableAdolescent
Home