Один фактор - то, что, если бы строки были изменяемы, объекты, хранящие строки, должны были бы стараться сохранить копии, чтобы их внутренние данные не изменяются без уведомления. Учитывая, что строки являются довольно типом примитива как числа, хорошо, когда можно рассматривать их, как будто они были переданы значением, даже если они передаются ссылкой (который также помогает экономить на памяти).
Попробуйте добавить следующее:
/*jslint browser: true */
/*global window */
(или установите флажок Предположить браузер ).
Первый строка добавляет общую поддержку браузера. Вторая строка объявляет window глобальной переменной.
Из документации:
Параметр браузера не включает псевдонимы глобального объекта, окна и ] self .
Понятно, после фальстарта. Я сначала попробовал это:
/* global window */
... не сработало. Это произошло:
/*global window */
Пробел после начальной звездочки оказывается важным.