Пожалуй, заголовок статьи не совсем верный. Правильнее было бы сказать - “объект или элементарный тип данных”. Но я решил сделать попроще. Поэтому получилось так, как получилось ))) Наверняка, если вы хотя бы немного знаете JavaScript, вы встречали что-то подобное: var len = 0; var s = 'Hello!'; len = s.length; //len = 6 Здесь мы объявили и инициализировали строковую переменную, а потом получили длину строки с помощью свойства length. Но, раз у переменной s есть свойства, значит, это объект? А вот и нет. Если мы проверим тип переменной s с помощью оператора typeof, то получим string. То есть строковая переменная - это никакой не объект. Это элементарный тип данных. Но почему же тогда он ведёт себя как объект? Оказывается, когда мы используем объектно-ориентированный подход, то JavaScript автоматически создаёт новый временный объект String, позволяющий обращаться к свойствам, таким как length. После использования этот объект удаляется, не меняя исходного значения переменной, для кото