Глава: 2-2-Types.md. Не полное, или противоречащее спецификации определение: Для JavaScript это [ссылка] подтипы Object, Function, Array.

Open
#94 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript
Domain
documentation

Research direction

Open chapter 2-2-Types.md and locate the passage defining Reference and JavaScript subtypes. Review the cited ECMAScript sections on Identifiers, Reference Records, GetValue, and PutValue, then revise the explanation to match the specification; done means the chapter no longer contains an incomplete or contradictory definition.

Written by the indexing model from the issue text.

Description

bug

Ссылка (Reference) указывает на значение ссылочного типа, т.е. не скалярное значение.
Для JavaScript это подтипы Object, Function, Array.

В JavaScript все идентификаторы являются ссылками Reference.
Если говорить в рамках терминологии книги, то В JavaScript не существует механизмов, которые бы адресовали и тем более возвращали скалярные типы.
Это подтверждается как официальной спецификацией,
так и архитектурой языка, в котором все Primitive Value имутабельны.
В следствии чего, конструкции вида:

var param1=1.2;
var param2=1.2;

приводят к созданию двух идентификаторов содержащих одну и туже ссылку, ведущую на структуру данных описывающих Primitive Value 1.2. Что совершенно логично, по причине того, что нет никакого смысла множить Primitive Value в условиях, когда их невозможно изменить в силу архитектуры языка.

Пруфы:

Dominant language
JavaScript
Stars
499
Forks
85
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from HowProgrammingWorks/Book

All issues in HowProgrammingWorks/Book

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.