Объекты обёртки создаются для трёх примитивных типов (String, Number и Boolean). В примере ниже для строки вызывается метод, который возвращает указанный символ в строке:
var x = 'машина'.charAt(0);
document.write(x);
Ниже показана примерная реализация того, как интерпретатор JavaScript обрабатывает код в примере выше:
temp = new String('машина'); // Создаётся временный объект
var x = temp.charAt(0); // Вызов нужного метода
delete temp; // Уничтожение временного объекта
Интерпретатор JavaScript автоматически создаёт экземпляр строкового объекта, у которого он затем вызывает метод charAt(). Созданный объект используется всего один раз перед тем как будет уничтожен автосборщиком мусора.
Для переменных хранящих примитивное значение интерпретатор работает аналогичным образом:
var str = "строка";
var firstChar = str.charAt(0);
Код примера обрабатывается практически аналогичным способом:
var str = "строка";
// Примитивное значение копируется во временную переменную
temp = str;
// Для примитивного значения создаётся объект обёртка, который присваивается переменной str
str = new String(str);
// Вызывается нужный метод объекта
var firstChar = str.charAt(0);
// Примитивное значение копируется обратно в переменную, а временный объект,
// который был создан удаляется автоматически автосборщиком мусора.
str = temp;
// Удаление временной переменной
delete temp;
Циклы