FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Fix `\u{X…XXXXXX}` description: a hexadecimal value, not "1 to 6 bytes" by 1t1sCooL · Pull Request #3975 · javascript-tutorial/en.javascript.info · GitHub

Fix \u{X…XXXXXX} description: a hexadecimal value, not "1 to 6 bytes" - #3975

Open
1t1sCooL wants to merge 2 commits into
javascript-tutorial:masterfrom
1t1sCooL:fix-unicode-hex-digits
Open

Fix \u{X…XXXXXX} description: a hexadecimal value, not "1 to 6 bytes"#3975
1t1sCooL wants to merge 2 commits into
javascript-tutorial:masterfrom
1t1sCooL:fix-unicode-hex-digits

Conversation

1t1sCooL commented Jul 2, 2026
edited
Loading

Copy link
Copy Markdown

The \u{X…XXXXXX} escape takes hexadecimal digits, not bytes: the maximum code point 10FFFF is 6 hex digits, which is 3 bytes.

Following the review feedback, the digit-count limit is now dropped as well. The spec does not cap the number of hex digits inside \u{…} — it only requires the resulting value to be at most 0x10FFFF. For instance "\u{0000001}" has seven digits and is perfectly valid, so "1 to 6 digits" would have been inaccurate in its own way. The value range alone conveys everything that matters.

Spotted via the Russian translation (javascript-tutorial/ru.javascript.info#2124), where the same wording was faithfully translated along with the mistake. The Russian side is updated in javascript-tutorial/ru.javascript.info#2175.

javascript-translate-bot added review needed Review needed, please approve or request changes labels Jul 2, 2026
javascript-translate-bot requested review from a team July 2, 2026 17:57

CLAassistant commented Jul 2, 2026
edited
Loading

Copy link
Copy Markdown


All committers have signed the CLA.

Copy link
Copy Markdown
Member

@codex review

smith558 self-assigned this Jul 25, 2026

chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 81024abeaf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread 1-js/99-js-misc/06-unicode/article.md Outdated
- `\u{X…XXXXXX}`

`X…XXXXXX` must be a hexadecimal value of 1 to 6 bytes between `0` and `10FFFF` (the highest code point defined by Unicode). This notation allows us to easily represent all existing Unicode characters.
`X…XXXXXX` must be a hexadecimal value of 1 to 6 hex digits between `0` and `10FFFF` (the highest code point defined by Unicode). This notation allows us to easily represent all existing Unicode characters.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Allow leading zeroes beyond six hex digits

ECMAScript does not impose a six-character limit on the contents of a braced Unicode escape; it only requires the resulting numeric value to be at most 0x10FFFF. For example, "\u{0000001}" is valid and produces code point 1, so this wording incorrectly rejects valid escapes containing more than six digits due to leading zeroes. Describe the value as having at most six significant hex digits, or omit the digit-count limit.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Author

Good catch, thanks — fixed in 17ba8ad.

The spec doesn't cap the number of hex digits inside \u{…}; it only requires the resulting value to be at most 0x10FFFF. So "\u{0000001}" is valid and yields code point 1, which the "1 to 6" wording wrongly rejected.

I dropped the digit-count clause altogether rather than saying "at most six significant digits" — the value range already carries all the information that matters:

X…XXXXXX must be a hexadecimal value between 0 and 10FFFF (the highest code point defined by Unicode).

Note the original text was inaccurate on a second count as well: it said "1 to 6 bytes", where the escape actually takes hex digits. That was the reason for this PR in the first place.

The same sentence in the Russian translation is updated in javascript-tutorial/ru.javascript.info#2175 to keep the two in sync.

1t1sCooL changed the title Fix "1 to 6 bytes" to "1 to 6 hex digits" in \u{X…XXXXXX} description Fix \u{X…XXXXXX} description: a hexadecimal value, not "1 to 6 bytes" Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review needed Review needed, please approve or request changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants


Back | FazBrowse Home | New Git URL