Glad to help, You are welcome
perfect way to explain it to beginners like us. getting it 1st hand.
Your explanation was really great.
Thank you so much! Really appreciated the analogy, it certainly clarified it for me
For a newbie in IT, this explanation is so helpful. Thank you so much.
thanks a lot. It really helped
I found a good non-tech analogy that works for me to understand this concept.
Essentially, imagine that humans are a class in programming (hence, data type)- and specifically you (e.g. Emil)-are an instance of that class(data type). And you (an instance) have all kinds of properties (telephone, email, address) and methods (you can call, send email, etc) that are specific only to your certain class(data type=human).
I hope that helps to someone.
Tnx dude, very good explanation.
I began reviewing all JS from scratch to get a solid foundation, and you helped towards that objective
You’re welcome. Happy I was able to help.
Thank you so much! Your explanation helped me understand better. The analogy is perfect!
Thanks a lot! A data cannot exist on its own. It is store or saved in an instance. Each instance has a property. Is my understanding right?
For example, per your example, 42 cannot exist on it’s own unless it is directly printed using console.log but it is saved in an instance or a variable called ‘a’. which makes it easier to use or call inside the code. ‘a’ can have different properties such as length. (I’m new to JS so don’t know other properties). Therefore, console.log(a.length); will print 2.
Is this right?
Yes, and no. It would depend whether it was written as a string, or was returned from a prompt statement (which is a string). Strings are iterable (their characters can be counted and indexed) which is where the
length is derived. They are stored as they appear.
a = '42'
a.length => 2
a = 42
a.length => no such attribute
A number is stored in binary and is not iterable so has no length. This will come up eventually with the discussion of type.
You are on the right track in so far as anything that is stored must be given a reference else it will just disappear.
Nothing is preserved in that statement.
a = 42
42 is somewhere in memory and
a points to a location in memory where its address is stored, whence it can retrieve it. If we alter the value of
a it will point to a new location that points to the new value. Given that
42 no longer has a reference, it will be swept up in garbage collection. None of this is important to know, except that when a value loses its reference(s) it cannot no longer be accessed.
At some point in your learning, when you are ready for more technical information it will be interesting reading to learn about the HEAP and the CALL STACK and how they are managed by JS. Save that for down the road, though, and stick with learning the basics from scratch.
This was so helpful to read and easy to understand as well. Thank you mtf!!
An instance of a data type is a specific value that belongs to that data type. For example, the string data type represents a sequence of characters, and an instance of that data type is a specific string value, such as “Hello, world!”.
For example, let’s say you create a variable
myString is an instance of the string data type, it has access to the properties and methods of the string data type.
const myString = "Hello, world!";
// Accessing the length property of the string instance
console.log(myString.length); // Output: 13
// Using the toUpperCase() method of the string instance
console.log(myString.toUpperCase()); // Output: HELLO, WORLD!
In this example, we can access the .length property of the
myString instance to get the length of the string, and we can use the .toUpperCase() method of the
myString instance to convert the string to uppercase.
In summary, an instance of a data type is a specific value that belongs to a data type and has access to the properties and methods of that data type.
Thank you! Love the analogy
Thank you, buddy you are a GOAT
good explanation Thnkx buddy
@beta1696663121 lol you’re welcome
This is SOOO helpful! Thank you @ruronite