I am reading book You don’t know js, up and going.
And at chapter 2, into javascript, the author said :
JavaScript has typed values, not typed variables.
What does this mean?? Could someone who has a deeper knowledge of js explain this?
I am reading book You don’t know js, up and going.
And at chapter 2, into javascript, the author said :
JavaScript has typed values, not typed variables.
What does this mean?? Could someone who has a deeper knowledge of js explain this?
Well, in some other languages such as c. When you declare a variable you declare a type instead of the catch all var or let. Example: string s <-this is a variable that will hold a string. JavaScript uses var or let for basically any declaration but still the values in variables have types. As an example var a=97 is a variable has a value type of number, var a=“hello world” has a value type of string
This is inn contrast to what we call “strongly typed languages”. In some languages, you have to declare variables as a certain type.
String mystr = "I'm a string";
int mynum = 42;
In JavaScript, we don’t do this.
var sluttyVar = "stringy"; // the value we assigned to sluttyVar is a string
sluttyVar = 99; // now the value assigned to sluttyVar is a number
That’s a very broad answer. To go deeper into this, read up on “strongly typed” vs “weakly typed” languages.
I see. I saw something like this on the next paragraph of the book. I think this explains it:
Notice how in this snippet the a variable holds every different type of value, and that despite appearances, typeof a is not asking for the “type of a”, but rather for the “type of the value currently in a.” Only values have types in JavaScript; variables are just simple containers for those values.
I read somewhere in the book that says :
js is a weakly typed language, the value type of the same variable is interchangeable.
Is this correct? Like the example you just gave out, sometimes var a
is a string, sometimes its a number.
Yup. Some people who get defensive about how “weakly typed” sounds will say “dynamically typed” instead.
okok stop confusing me with all these names…
also nice naming method on that example you gave out
var sluttyVar
Gonna implement this into my coding style.
FCC tutoring: I don’t do it for the money; I don’t do it for the fame; I do it for the LOLZ.
lol.
Here. take it.