var obj = {x:5, y:new Number(5)};
function value(value) {
//using == would result in false positives for value.call(obj.y, new Number(5));
return this === value;
}
console.log(value.call(obj.x, obj.x)); //False
console.log(value.call(obj.y, obj.y)); //True
Javascript (pour des raisons évidentes), enveloppe les primitives dans les objets temporaires lorsqu'elles sont affectées à this
. Existe-t-il des moyens de déterminer si l'objet référencé via this
est créé par l'utilisateur et permanent par rapport au système créé et transitoire?Détermine si la primitive enveloppée par l'objet a été créée par l'utilisateur
Êtes-vous sûr qu'il est pas Java JavaScript? – MaxZoom
@Max, peut-être que la boxe n'est pas le bon terme dans Javascript - je fais référence aux wrappers Object autour des types primitifs. – danShumway
Pourquoi ne pas les traiter également? – zerkms