In JavaScript? Why Str and Int confusion? | Sololearn: Learn to code for FREE!
Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis
+ 2

In JavaScript? Why Str and Int confusion?

When I try document.write(ā€œ2ā€ + ā€œ2ā€); It outputs 4 Why?? Same... var int = 3; var str = ā€œhiyaā€; document.write(int * str); Why doesnā€™t it output hiyahiyahiya But instead gives me NaN?

21st Mar 2019, 7:01 PM
Brave Tea
Brave Tea - avatar
4 Respostas
+ 2
i don't really now this, but it seems that js converts the strings to int, if you multiply them, and returns them as int. When the result can't be an int, it will become NaN tests: document.write(2*3); //6 document.write("\n"); document.write(2*"3"); //6 document.write("\n"); document.write("2"*3); //6 document.write("\n"); document.write("2"*"3"); //6 document.write("\n"); document.write("hi"*3); //NaN document.write("\n"); document.write("hi"*"3"); //NaN document.write("\n"); document.write(3*"hi"); //NaN document.write("\n"); document.write("3"*"hi"); //NaN document.write("\n");
21st Mar 2019, 9:16 PM
Anton Bƶhler
Anton Bƶhler - avatar
+ 1
sorry I made a mistake in my first bit. document.write(ā€œ2ā€ * ā€œ3ā€); outputs 6 and I dont understand why
21st Mar 2019, 8:04 PM
Brave Tea
Brave Tea - avatar
+ 1
why is int an invalid variable? is int forbidden? see this code as a similar example: var test1 = 3; var test2 = "hiya"; document.write(test1 * test2); //output NaN
21st Mar 2019, 8:06 PM
Brave Tea
Brave Tea - avatar
0
://First of all document.write("2"+"2") output is not "4", it is 22 because they are between quotes, which makes them string ://Second var int is invalid variable, you don't need describe in int, str for numbers and strings
21st Mar 2019, 7:12 PM
Sudarshan Rai
Sudarshan Rai - avatar