Глава: 2-2-Types.md. Не полное, или противоречащее спецификации определение: Для JavaScript это [ссылка] подтипы Object, Function, Array.
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
Ссылка (Reference) указывает на значение ссылочного типа, т.е. не скалярное значение.
Для JavaScript это подтипы Object, Function, Array.
В JavaScript все идентификаторы являются ссылками Reference.
Если говорить в рамках терминологии книги, то В JavaScript не существует механизмов, которые бы адресовали и тем более возвращали скалярные типы.
Это подтверждается как официальной спецификацией,
так и архитектурой языка, в котором все Primitive Value имутабельны.
В следствии чего, конструкции вида:
var param1=1.2;
var param2=1.2;
приводят к созданию двух идентификаторов содержащих одну и туже ссылку, ведущую на структуру данных описывающих Primitive Value 1.2. Что совершенно логично, по причине того, что нет никакого смысла множить Primitive Value в условиях, когда их невозможно изменить в силу архитектуры языка.
Пруфы:
- ECMAScript® 2023 Language 13.1 Identifiers
- ECMAScript® 2023 Language 13.1.3 Runtime Semantics: Evaluation
- ECMAScript® 2023 Language Specification 9.4.2 ResolveBinding
- ECMAScript® 2023 Language Specification 9.1.2.1 GetIdentifierReference
- ECMAScript® 2023 Language Specification 6.2.4 The Reference Record Specification Type
- ECMAScript® 2023 Language Specification 6.2.4.5 GetValue ( V )
- ECMAScript® 2023 Language 6.2.4.6 PutValue ( V, W )
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from HowProgrammingWorks/Book
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
HowProgrammingWorks/Book#154 · 1 reaction ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 38/100
HowProgrammingWorks/Book#149 ·
-
feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
HowProgrammingWorks/Book#124 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 20/100
HowProgrammingWorks/Book#102 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
HowProgrammingWorks/Book#97 · 2 comments · 1 reaction ·