Цитата:
|
В JavaScript нет оператора, позволяющего проверить, относится ли метод или атрибут непосредственно к объекту
|
относится ли свойство
Цитата:
|
Оператор == перед проверкой на равенство осуществляет преобразование типов
|
Зависит от сравниваемых значений. null == undefined -> нет конвертации
Цитата:
|
Функции, как и любые другие объекты, могут иметь поля и методы.
|
Полей, слотов и проч. нет, или просто
свойства или
свойства и методы
Цитата:
|
с помощью псевдо-массива arguments
|
объект это, если приставка "псевдо" характеризует нечто особенное, то придётся описывать реализацию этого объекта в той же опере, где это совсем не псевдо, но лучше ограничиться термином из стандарта (ES 10.1.8)
Цитата:
|
Определяет, является ли данный объект прототипом объекта-аргумента
|
находится ли объект в цепи прототипов
Цитата:
|
На сегодняшний день поддержку JavaScript обеспечивают современные версии всех наиболее часто используемых браузеров. При этом в полной мере ядро языка поддерживается браузерами[96]:
* Mozilla Firefox версии 2 и выше,
* Opera версии 9 и выше.
|
Где IE?
Внесите IE в список!!!, наличие Оперы с кучей багов и отложенной реализацией EcmaScript вкупе с вечным отсутствием документации выглядит анекдотом при отсутствии IE с его давным давно сделанной реализацией. Отсылка на
смешную матрицу, где выбраны 2 бага реализации ES в IE и нет вообще ни одного бага в отношении FF, которых куча, не может считаться объективной. В настоящее время у ВСЕХ!!! браузеров есть недочёты (недореализация ES или определённые баги). Выталкивать из списка IE за такую ерунду, как trailing comma в массивах... хм... ;-)
Цитата:
|
С момента публикации статьи ситуация улучшилась[102]. Особенно в отношении англоязычных источников.
|
Ухудшилась ситуация.
Цитата:
|
Оператор + является единственным арифметическим операторов в языке, который перегружен для строковых аргументов. Таким образом, если оба его операнда являются числами, он вычисляет их сумму, но если хотя бы один из операндов — строка, + действует как конкатенатор.
|
А если нет строк в операндах, но и чисел тоже нет, или одно число...? Это я к тому, что для вычисления суммы необязательно наличие операндов-чисел.
Цитата:
|
идентификаторы функций являются переменными, хранящими ссылку на функцию
|
Можно было бы уточнить, что стандарт этого (кас. ссылок) не раскрывает вообще. Если вам нужны ссылки на цитаты Брендана по этому поводу, то они есть в соседней теме, где обсуждалось by-value. Идентификаторы функций не являются переменными в смысле EcmaScript.
Цитата:
|
При объявлении функции последовательность областей видимости, относящихся к вложенным функциям сохраняется как составляющая состояния функции. То есть в процессе выполнения JavaScript-программы функции, обладающие доступом к локальным переменным объемлющих функций, сохраняют такой доступ на протяжении всего выполнения программы
|
Двусмысленный текст получился. При объявлении функции вложенных функций "как бы нет", поэтому области видимости к ним не относятся.
Цитата:
|
var uniqueId = (function() {
var id = 0;
return function() { return id++; };
})();
|
Скобки вокруг функции не нужны в этом случае. И без скобок выражение.
Цитата:
|
typeof inc === 'number'
|
Результатом 'typeof' будет строка. Сравнивая строку со строкой, совершенно не нужно использовать строгое сравнение, сравниваются значения одного типа изначально. Одно значение вы задали руками, второе значение вписано в алгоритм языка.
Цитата:
|
Каждый объект в языке имеет следующие свойства: constructor...
|
Обязательно нужен акцент на то, что это и другие там же перечисленные свойства являются наследуемыми, а не собственными свойствами объекта.
Цитата:
|
Для обеспечения кросс-браузерности и высокого уровня абстракции при разработке веб-приложений используются библиотеки JavaScript. Они представляют собой набор многократно используемых объектов и функций.
|
Абстракции - да, кросс-браузерности - нет, подавляющее большинство фреймворков (если не все) кроссбразерными не были не минуту своей жизни. ;-)
Цитата:
|
JavaScript использует прототипный подход (где нет классов, а объект — просто хеш);
|
В javascript объект - это не хэш... или расшифровывайте тогда, что такое хэш, чтобы не путали те, у кого в голове соответствующее представление. Объект в javascript наследует, "не пуст" и проч...
Всё. Дочитал. Хорошая статья - обзорная, сухо и достаточно точно написанная. Спасибо за труд.