Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Elegie
Une Bévue wrote:
<snip>
est-ce que ça signifie que string est un type "primitif" en javascript ???
Oui, en effet. Les valeurs primitives, en javascript, sont: undefined, null, boolean, number et string (ECMAScript 262, 4.3.2). Elles peuvent être utilisées directement à l'aide de "litterals" (ECMAScript, 7.8.4).
Les constructeurs Boolean, Number et String existent également, et permettent respectivement d'obtenir des objets Boolean, Number et String, chacun possédant diverses propriétés et méthodes liées à leur type, ainsi qu'une propriété implicite, [[value]] contenant la valeur primitive, et une méthode 'valueOf', retournant cette valeur primitive.
L'opérateur "typeof" permet de bien faire la différence (ECMAScript 11.4.3). Par exemple:
var s1="Hello"; alert(typeof s1); // 'string' var s2=new String("Hello"); alert(typeof s2); // 'object'
ECMAScript, en outre, possède un mécanisme qui substitue à une valeur primitive un objet du même type, créé à la volée, lorsque le contexte le requiert. Exemple:
var foo="hello, world"; foo=foo.replace(/^h/,"H");
Normalement, cela devrait être illégal, car une valeur primitive n'a pas de méthodes (ce n'est pas un objet). ECMAScript va donc substituer temporairement 'new String(foo)' (un objet string) à 'foo' (une valeur primitive) puis appeler la méthode 'replace' sur l'objet temporaire. Cet objet disparaît une fois le statement exécuté.
HTH, Elegie.
Une Bévue wrote:
<snip>
est-ce que ça signifie que string est un type "primitif" en javascript
???
Oui, en effet. Les valeurs primitives, en javascript, sont: undefined,
null, boolean, number et string (ECMAScript 262, 4.3.2). Elles peuvent
être utilisées directement à l'aide de "litterals" (ECMAScript, 7.8.4).
Les constructeurs Boolean, Number et String existent également, et
permettent respectivement d'obtenir des objets Boolean, Number et
String, chacun possédant diverses propriétés et méthodes liées à leur
type, ainsi qu'une propriété implicite, [[value]] contenant la valeur
primitive, et une méthode 'valueOf', retournant cette valeur primitive.
L'opérateur "typeof" permet de bien faire la différence (ECMAScript
11.4.3). Par exemple:
var s1="Hello"; alert(typeof s1); // 'string'
var s2=new String("Hello"); alert(typeof s2); // 'object'
ECMAScript, en outre, possède un mécanisme qui substitue à une valeur
primitive un objet du même type, créé à la volée, lorsque le contexte le
requiert. Exemple:
var foo="hello, world";
foo=foo.replace(/^h/,"H");
Normalement, cela devrait être illégal, car une valeur primitive n'a pas
de méthodes (ce n'est pas un objet). ECMAScript va donc substituer
temporairement 'new String(foo)' (un objet string) à 'foo' (une valeur
primitive) puis appeler la méthode 'replace' sur l'objet temporaire. Cet
objet disparaît une fois le statement exécuté.
est-ce que ça signifie que string est un type "primitif" en javascript ???
Oui, en effet. Les valeurs primitives, en javascript, sont: undefined, null, boolean, number et string (ECMAScript 262, 4.3.2). Elles peuvent être utilisées directement à l'aide de "litterals" (ECMAScript, 7.8.4).
Les constructeurs Boolean, Number et String existent également, et permettent respectivement d'obtenir des objets Boolean, Number et String, chacun possédant diverses propriétés et méthodes liées à leur type, ainsi qu'une propriété implicite, [[value]] contenant la valeur primitive, et une méthode 'valueOf', retournant cette valeur primitive.
L'opérateur "typeof" permet de bien faire la différence (ECMAScript 11.4.3). Par exemple:
var s1="Hello"; alert(typeof s1); // 'string' var s2=new String("Hello"); alert(typeof s2); // 'object'
ECMAScript, en outre, possède un mécanisme qui substitue à une valeur primitive un objet du même type, créé à la volée, lorsque le contexte le requiert. Exemple:
var foo="hello, world"; foo=foo.replace(/^h/,"H");
Normalement, cela devrait être illégal, car une valeur primitive n'a pas de méthodes (ce n'est pas un objet). ECMAScript va donc substituer temporairement 'new String(foo)' (un objet string) à 'foo' (une valeur primitive) puis appeler la méthode 'replace' sur l'objet temporaire. Cet objet disparaît une fois le statement exécuté.
HTH, Elegie.
Thoraval Yvon
Une Bévue wrote:
<snip>
est-ce que ça signifie que string est un type "primitif" en javascript ???
Oui, en effet. Les valeurs primitives, en javascript, sont: undefined, null, boolean, number et string (ECMAScript 262, 4.3.2). Elles peuvent être utilisées directement à l'aide de "litterals" (ECMAScript, 7.8.4).
Les constructeurs Boolean, Number et String existent également, et permettent respectivement d'obtenir des objets Boolean, Number et String, chacun possédant diverses propriétés et méthodes liées à leur type, ainsi qu'une propriété implicite, [[value]] contenant la valeur primitive, et une méthode 'valueOf', retournant cette valeur primitive.
L'opérateur "typeof" permet de bien faire la différence (ECMAScript 11.4.3). Par exemple:
var s1="Hello"; alert(typeof s1); // 'string' var s2=new String("Hello"); alert(typeof s2); // 'object'
ECMAScript, en outre, possède un mécanisme qui substitue à une valeur primitive un objet du même type, créé à la volée, lorsque le contexte le requiert. Exemple:
var foo="hello, world"; foo=foo.replace(/^h/,"H");
Normalement, cela devrait être illégal, car une valeur primitive n'a pas de méthodes (ce n'est pas un objet). ECMAScript va donc substituer temporairement 'new String(foo)' (un objet string) à 'foo' (une valeur primitive) puis appeler la méthode 'replace' sur l'objet temporaire. Cet objet disparaît une fois le statement exécuté.
HTH, Elegie.
mais c'est de "l'auto-boxing" ça )))
Une Bévue wrote:
<snip>
est-ce que ça signifie que string est un type "primitif" en javascript
???
Oui, en effet. Les valeurs primitives, en javascript, sont: undefined,
null, boolean, number et string (ECMAScript 262, 4.3.2). Elles peuvent
être utilisées directement à l'aide de "litterals" (ECMAScript, 7.8.4).
Les constructeurs Boolean, Number et String existent également, et
permettent respectivement d'obtenir des objets Boolean, Number et
String, chacun possédant diverses propriétés et méthodes liées à leur
type, ainsi qu'une propriété implicite, [[value]] contenant la valeur
primitive, et une méthode 'valueOf', retournant cette valeur primitive.
L'opérateur "typeof" permet de bien faire la différence (ECMAScript
11.4.3). Par exemple:
var s1="Hello"; alert(typeof s1); // 'string'
var s2=new String("Hello"); alert(typeof s2); // 'object'
ECMAScript, en outre, possède un mécanisme qui substitue à une valeur
primitive un objet du même type, créé à la volée, lorsque le contexte le
requiert. Exemple:
var foo="hello, world";
foo=foo.replace(/^h/,"H");
Normalement, cela devrait être illégal, car une valeur primitive n'a pas
de méthodes (ce n'est pas un objet). ECMAScript va donc substituer
temporairement 'new String(foo)' (un objet string) à 'foo' (une valeur
primitive) puis appeler la méthode 'replace' sur l'objet temporaire. Cet
objet disparaît une fois le statement exécuté.
est-ce que ça signifie que string est un type "primitif" en javascript ???
Oui, en effet. Les valeurs primitives, en javascript, sont: undefined, null, boolean, number et string (ECMAScript 262, 4.3.2). Elles peuvent être utilisées directement à l'aide de "litterals" (ECMAScript, 7.8.4).
Les constructeurs Boolean, Number et String existent également, et permettent respectivement d'obtenir des objets Boolean, Number et String, chacun possédant diverses propriétés et méthodes liées à leur type, ainsi qu'une propriété implicite, [[value]] contenant la valeur primitive, et une méthode 'valueOf', retournant cette valeur primitive.
L'opérateur "typeof" permet de bien faire la différence (ECMAScript 11.4.3). Par exemple:
var s1="Hello"; alert(typeof s1); // 'string' var s2=new String("Hello"); alert(typeof s2); // 'object'
ECMAScript, en outre, possède un mécanisme qui substitue à une valeur primitive un objet du même type, créé à la volée, lorsque le contexte le requiert. Exemple:
var foo="hello, world"; foo=foo.replace(/^h/,"H");
Normalement, cela devrait être illégal, car une valeur primitive n'a pas de méthodes (ce n'est pas un objet). ECMAScript va donc substituer temporairement 'new String(foo)' (un objet string) à 'foo' (une valeur primitive) puis appeler la méthode 'replace' sur l'objet temporaire. Cet objet disparaît une fois le statement exécuté.