June 13, 2026
1.JavaScript uses a fixed number of bits, 64 of them, to store a single number value.
2.The actual maximum whole number that can be stored is more in the range of 9 quadrillion.
3.The important thing is to be aware of it and treat fractional digital numbers as approximations, not as precise values.
4.The reminder operator's precedence is the same as that of multiplication and division.
5.There are three special values in JavaScript that are consider numbers but don't behave like normal numbers. The first two are Infinity and -Infinity, which represent the positive and negative infinities.
6.NaN stands for "not a number", even though it is a value of the number type. You'll get this result when you, for exmaple, try to caculate 0/0 (zero divided by zero), Infinity - Infinity, or any number of other numeric operations that don't yield a meaning result.
7.You can use single quotes, double quotes, or backticks to mark strings as long as the quotes at the start and the end of the string match.
8.Newlines (the character you get when you press enter) can be include only when the string is quoted with backticks(`).
9.To make it possible to include such characters in a string, the following notation is used: a backslash(\) inside quoted text indicates that the character after it has a special meaning.
10.JavaScript representation uses 16 bits per string element, which can describe up 2^16 different characters. However, Unicode defines more characters than that - about twice as many, at this point, so some characters, such as many emoji, take up two "character positions" in JavaScript strings.
11.The way strings are ordered is roughly alphabetic but not really what you'd exepct to see in dictionary. Uppercase letters are always "less" than lowercase ones, so "Z" < "a".
12.When comparing strings, JavaScript goes over the character from left to right, comparing the Unicode codes one by one.
13.There is only one value in JavaScript that is not equal to itself, and that is NaN. NaN is supposed to denote the result of nonsensical computation, and as such, it isn't equal to the result of any other nonsensical computations.
14.|| has lowest precedence, then cames &&, then the comparison operators(>, ==, and so on) and then the rest.
15.There are two special values, writtern null and undefined, they are used to denote the absence of a meaningful value. They are themselves values, but they carry no infomation.
16.The difference in meaning between undefined and null is an accident of JavaScript's design, and it doesn't matter most of time.
17.When something that doesn't map to a number in a obvious way(such as "five" or undefined) is converted to a number, you get the value NaN. Futher arithmetic operations on NaN keep producing NaN.
18.console.log(null == undefined)
//true
19.The logical operators && and || handle values of different types in a peculiar way. They will convert the value on their left side to Boolean type in order to decide what to do, but depending on the operator, and the result of the conversion. They will return either the original left-hand value or the right-hand value.
20.The ?? operator resembles || but returns the value on the right only if the one the left is null or undefined, not if it is some other value that can be converted to false.
21.The && operator works similiarly but the other way arround, when the value to its left is something that converts to false, it returns that value and otherwise it returns the value on its right.
22.Another important property of these two operators is that the part to their right is evaluated only when necessary. This is called short-circuit evaluation.