Многозначность английских слов по отношению к русским приводит к необходимости выбора более-менее подходящего по смыслу значения.
Выбор неподходящего значения соответственно может ввести в заблуждение и, как минимум, замедлить скорость понимания того, о чём идёт речь.
Например, некоторое время назад, в первый раз прочитав приведённый ниже текст, меня посетила мысль, что спецификация явно для избранных
.
http://es5.javascript.ru/x8.html#x8.7
Цитата:
|
Reference является предвычисленной (resolved) привязкой имени.
Ссылка состоит из трех компонентов: значения базы (base value), имени по ссылке (referenced name), и флага строгой ссылки (strict reference) с булевым значением.
Значение базы – это undefined, Object, Boolean, String, Number, или запись окружения (10.2.1).
Если значение базы – undefined, это означает, что значение по ссылке не удалось вычислить.
Имя по ссылке – это строка.
|
http://www.ecma-international.org/ecma-262/5.1/#sec-8.7
Цитата:
|
A Reference is a resolved name binding.
A Reference consists of three components, the base value, the referenced name and the Boolean valued strict reference flag.
The base value is either undefined, an Object, a Boolean, a String, a Number, or an environment record (10.2.1).
A base value of undefined indicates that the reference could not be resolved to a binding.
The referenced name is a String.
|
Например, перевод слова "refference" ("ссылка") мне дал больше для понимания, чем его объяснение.
Смысл "привязки", как установления связи между чем-то и чем-то, понятен, но, например, "resolved name" можно понять как "разрешённое имя", то есть имя, которое разрешили для использования и перевод "предвычисленная", как вычисленная заранее без твоего участия, начинает туманить мозг, хотя то, что заранее вычислили без твоего участия, как следствие, очевидно, должно быть разрешено для использования.
"base value" как "базовое значение", а не "значение базы", было бы для меня сразу тоже более понятным, но тут всё чисто, в спецификации вводится новое понятие "база".
Возможные типы значений базы перечислены.
Перевод "referenced name" как "имя по ссылке" тоже, на мой взгляд, вводит в заблуждение (что за ссылка, если мы её тут и определяем, где оно находится это имя, раз на него ссылаются....).
Дословно можно перевести как "имя, на которое ссылаются" или как переводят yandex/google "название ссылки" (итого, просто имя в виде строки).
С флагом строгой ссылки понятнее: ссылка может быть строгой, о чём будет сигнализировать значение true этого флага.
Исходя из вышеизложенного, я начал понимать примерно так:
тип спецификации Reference представляет собой набор элементов "ссылка", каждый из которых является набором из трёх неразрывно связанных компонент (значение одного из указанных типов, имя в виде строки, флаг строгой ссылки).
Суть "привязки" - связь между "значением" и "именем".
Далее "значение" уже можно подменить "значением базы".
Итого: если я правильно сделал выводы и понял, что такое "ссылка" в спецификации, чёт как-то долго пришлось рассуждать, чтобы понять, что здесь просто устанавливается связь между значением и именем
.