From 844f5103992238c0c23203286dad16a466e89c97 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:09 +0200 Subject: move *.html to *.md --- .../reference/errors/no_non-null_object/index.html | 67 ---------------------- .../reference/errors/no_non-null_object/index.md | 67 ++++++++++++++++++++++ 2 files changed, 67 insertions(+), 67 deletions(-) delete mode 100644 files/fr/web/javascript/reference/errors/no_non-null_object/index.html create mode 100644 files/fr/web/javascript/reference/errors/no_non-null_object/index.md (limited to 'files/fr/web/javascript/reference/errors/no_non-null_object') diff --git a/files/fr/web/javascript/reference/errors/no_non-null_object/index.html b/files/fr/web/javascript/reference/errors/no_non-null_object/index.html deleted file mode 100644 index 2dd59d1667..0000000000 --- a/files/fr/web/javascript/reference/errors/no_non-null_object/index.html +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: 'TypeError: "x" is not a non-null object' -slug: Web/JavaScript/Reference/Errors/No_non-null_object -tags: - - Erreurs - - JavaScript - - TypeError -translation_of: Web/JavaScript/Reference/Errors/No_non-null_object -original_slug: Web/JavaScript/Reference/Erreurs/No_non-null_object ---- -
{{JSSidebar("Errors")}}
- -

Message

- -
TypeError: Invalid descriptor for property {x} (Edge)
-TypeError: "x" is not a non-null object (Firefox)
-TypeError: Property description must be an object: "x" (Chrome)
-TypeError: Invalid value used in weak set (Chrome)
-
- -

Type d'erreur

- -

{{jsxref("TypeError")}}

- -

Quel est le problème ?

- -

Un objet devrait être trouvé et n'est pas fourni. La valeur {{jsxref("null")}} n'est pas un objet et ne fonctionnera pas, il est nécessaire de fournir un véritable objet pour que le code en question fonctionne.

- -

Exemples

- -

Absence d'un descripteur de propriété

- -

Lorsqu'on utilise des méthodes telles que {{jsxref("Object.create()")}}, {{jsxref("Object.defineProperty()")}} ou {{jsxref("Object.defineProperties()")}}, le paramètre optionnel de description des propriétés doit être un descripteur sous la forme d'un objet. Si la valeur fournie n'est pas un objet (mais par exemple un nombre), l'appel à la méthode déclenchera une erreur :

- -
Object.defineProperty({}, 'cle', 1);
-// TypeError: 1 is not a non-null object
-
-Object.defineProperty({}, 'cle', null);
-// TypeError: null is not a non-null object
-
- -

Un descripteur de propriété valide aura la structure suivante :

- -
Object.defineProperty({}, 'cle', { value: 'toto', writable: false });
-
- -

Les clés de WeakMap et WeakSet sont des objets

- -

Les objets {{jsxref("WeakMap")}} et {{jsxref("WeakSet")}} utilisent des objets comme clé. On ne peut pas utiliser d'autres types de valeurs pour les clés de ces objets.

- -
var ws = new WeakSet();
-ws.add('toto');
-// TypeError: "toto" is not a non-null object
- -

À la place, on utilisera des objets :

- -
ws.add({toto: 'truc'});
-ws.add(window);
-
- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/errors/no_non-null_object/index.md b/files/fr/web/javascript/reference/errors/no_non-null_object/index.md new file mode 100644 index 0000000000..2dd59d1667 --- /dev/null +++ b/files/fr/web/javascript/reference/errors/no_non-null_object/index.md @@ -0,0 +1,67 @@ +--- +title: 'TypeError: "x" is not a non-null object' +slug: Web/JavaScript/Reference/Errors/No_non-null_object +tags: + - Erreurs + - JavaScript + - TypeError +translation_of: Web/JavaScript/Reference/Errors/No_non-null_object +original_slug: Web/JavaScript/Reference/Erreurs/No_non-null_object +--- +
{{JSSidebar("Errors")}}
+ +

Message

+ +
TypeError: Invalid descriptor for property {x} (Edge)
+TypeError: "x" is not a non-null object (Firefox)
+TypeError: Property description must be an object: "x" (Chrome)
+TypeError: Invalid value used in weak set (Chrome)
+
+ +

Type d'erreur

+ +

{{jsxref("TypeError")}}

+ +

Quel est le problème ?

+ +

Un objet devrait être trouvé et n'est pas fourni. La valeur {{jsxref("null")}} n'est pas un objet et ne fonctionnera pas, il est nécessaire de fournir un véritable objet pour que le code en question fonctionne.

+ +

Exemples

+ +

Absence d'un descripteur de propriété

+ +

Lorsqu'on utilise des méthodes telles que {{jsxref("Object.create()")}}, {{jsxref("Object.defineProperty()")}} ou {{jsxref("Object.defineProperties()")}}, le paramètre optionnel de description des propriétés doit être un descripteur sous la forme d'un objet. Si la valeur fournie n'est pas un objet (mais par exemple un nombre), l'appel à la méthode déclenchera une erreur :

+ +
Object.defineProperty({}, 'cle', 1);
+// TypeError: 1 is not a non-null object
+
+Object.defineProperty({}, 'cle', null);
+// TypeError: null is not a non-null object
+
+ +

Un descripteur de propriété valide aura la structure suivante :

+ +
Object.defineProperty({}, 'cle', { value: 'toto', writable: false });
+
+ +

Les clés de WeakMap et WeakSet sont des objets

+ +

Les objets {{jsxref("WeakMap")}} et {{jsxref("WeakSet")}} utilisent des objets comme clé. On ne peut pas utiliser d'autres types de valeurs pour les clés de ces objets.

+ +
var ws = new WeakSet();
+ws.add('toto');
+// TypeError: "toto" is not a non-null object
+ +

À la place, on utilisera des objets :

+ +
ws.add({toto: 'truc'});
+ws.add(window);
+
+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf