Двоичное представление вещественных чисел неспособно обеспечить точное представление таких простых чисел как 0.1. Двоичное представление вещественных чисел в JavaScript определяется согласно стандарту IEEE-754.
Точность представления вещественных чисел в JavaScript достаточно высока и позволяет обеспечить очень близкое представление вещественного числа. Но тот факт, что вещественное число не может быть представлено точно, может приводить к проблемам.
var x = 0.3 - 0.2;
var y = 0.2 - 0.1;
document.write(x == y); // false
document.write(x == 0.1); // false
document.write(y == 0.1); // true
Из-за ошибок округления разность между числами 0,3 и 0,2 оказалась не равной разности между числами 0,2 и 0,1. Важно понимать, что эта проблема не является чем-то характерным для JavaScript: она проявляется во всех языках программирования, где используется двоичное представление вещественных чисел. Точность округления вполне приемлема для большинства применений: проблема возникает лишь при попытках проверить значения на равенство.
Строки
Значениями строкового типа являются текстовые строки. Они могут состоять из нуля и более символов. Символы включают в себя буквы, цифры, знаки пунктуации, специальные символы и пробелы. Строки должны быть заключены в двойные или одинарные кавычки (апострофы):
Строки заключённые в двойные кавычки могут содержать символы одиночных кавычек и наоборот.
var myColor = "red";
var myColor = 'red';
Для того, чтобы в строке, заключённой в двойные кавычки, можно было использовать двойные кавычки, нужно их экранировать с помощью обратного слэша (\), тоже самое касается и строки заключённой в одиночные кавычки
document.write("внутри используются \"двойные\" кавычки");
document.write('внутри используются \'одиночные\' кавычки');
Длина строки - это количество 16-битных значений, содержащихся в ней. Нумерация символов в строках начинается с нуля, т.е. первое 16-битное значение находится под индексом 0, второе - под индексом 1 и т.д. Для определения длины строки - количества 16-битных значений - используется свойство строки length
var msg = "hello";
document.write(msg.length);
К отдельным символам строки можно обращаться с помощью индексов, заключённых в квадратные скобки
var msg = "hello";
document.write(msg[1]); // => "e"
Строки в JavaScript являются неизменяемыми. Это означает, что методы используемые для работы со строками возвращают новые строки, а не изменяют саму строку, относительно которой они были вызваны.