https://www.w3schools.com/js/tryit.asp?filename=tryjs_number_object1 ' Non creare mai numeri come oggetti. ' Numeri e oggetti non possono essere confrontati in modo sicuro. ' vero <!DOCTYPE html> <html> <body> <h2>JavaScript Numbers</h2> <p>Never create numbers as objects.</p> <p>Numbers and objects cannot be safely compared.</p> <p id="demo"></p> <script> var x = 500; // x is a number var y = new Number(500); // y is an object document.getElementById("demo").innerHTML = (x==y); </script> </body> </html> ' Quando si utilizza l' ===operatore, i numeri uguali non sono uguali, poiche' l' ===operatore si aspetta l'uguaglianza sia nel tipo che nel valore. ' var x = 500; ' var y = new Number(500); '// (x === y) is false because x and y have different types https://www.w3schools.com/js/tryit.asp?filename=tryjs_number_object2 <!DOCTYPE html> <html> <body> <h2>JavaScript Numbers</h2> <p>Never create numbers as objects.</p> <p>Numbers and objects cannot be safely compared.</p> <p id="demo"></p> <script> var x = 500; // x is a number var y = new Number(500); // y is an object document.getElementById("demo").innerHTML = (x===y); </script> </body> </html> ' O anche peggio. Gli oggetti non possono essere confrontati: https://www.w3schools.com/js/tryit.asp?filename=tryjs_number_object3 <!DOCTYPE html> <html> <body> <h2>JavaScript Numbers</h2> <p>Never create numbers as objects.</p> <p>JavaScript objects cannot be compared.</p> <p id="demo"></p> <script> var x = new Number(500); // x is an object var y = new Number(500); // y is an object document.getElementById("demo").innerHTML = (x==y); </script> </body> </html> |