| empty-string.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Input is the empty string
info: |
1. Let string be ? ToString(string).
2. Let length be the number of code units in string.
3. Let R be the empty string.
4. Let k be 0.
5. Repeat, while k ≠ length,
[...]
6. Return R.
--- |
491 |
- |
| four-ignore-bad-u.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform four-character patterns that are not prefixed with the
character "u"
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
i. If k ≤ length-6 and the code unit at index k+1 within string is u
and the four code units at indices k+2, k+3, k+4, and k+5 within
string are all hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by the four hexadecimal digits at indices k+2, k+3, k+4, and
k+5 within string.
2. Increase k by 5.
[...]
--- |
1095 |
- |
| four-ignore-end-str.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform four-character patterns that are interrupted by the end
of the string
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
i. If k ≤ length-6 and the code unit at index k+1 within string is u
and the four code units at indices k+2, k+3, k+4, and k+5 within
string are all hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by the four hexadecimal digits at indices k+2, k+3, k+4, and
k+5 within string.
2. Increase k by 5.
[...]
--- |
3850 |
- |
| four-ignore-non-hex.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform four-character patterns that contain non-hexadecimal
digits
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
i. If k ≤ length-6 and the code unit at index k+1 within string is u
and the four code units at indices k+2, k+3, k+4, and k+5 within
string are all hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by the four hexadecimal digits at indices k+2, k+3, k+4, and
k+5 within string.
2. Increase k by 5.
[...]
--- |
1745 |
- |
| four.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Translation of patterns with four digits
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
i. If k ≤ length-6 and the code unit at index k+1 within string is u
and the four code units at indices k+2, k+3, k+4, and k+5 within
string are all hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by the four hexadecimal digits at indices k+2, k+3, k+4, and
k+5 within string.
2. Increase k by 5.
[...]
--- |
3485 |
- |
| length.js |
---
es6id: B.2.1.2
description: >
unescape.length is 1.
info: |
unescape (string)
17 ECMAScript Standard Built-in Objects:
Every built-in Function object, including constructors, has a length
property whose value is an integer. Unless otherwise specified, this
value is equal to the largest number of named arguments shown in the
subclause headings for the function description, including optional
parameters. However, rest parameters shown using the form “...name”
are not included in the default argument count.
Unless otherwise specified, the length property of a built-in Function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
1015 |
- |
| name.js |
---
es6id: B.2.1.2
description: >
unescape.name is "unescape".
info: |
unescape (string)
17 ECMAScript Standard Built-in Objects:
Every built-in Function object, including constructors, that is not
identified as an anonymous function has a name property whose value
is a String.
Unless otherwise specified, the name property of a built-in Function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
784 |
- |
| prop-desc.js |
---
es5id: B.2.2
description: >
Object.getOwnPropertyDescriptor returns data desc for functions on
built-ins (Global.unescape)
includes: [propertyHelper.js]
--- |
517 |
- |
| to-string-err-symbol.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Abrupt completion from `ToString` operation (Symbol value)
info: |
1. Let string be ? ToString(string).
features: [Symbol]
--- |
410 |
- |
| to-string-err.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Abrupt completion from `ToString` operation
info: |
1. Let string be ? ToString(string).
--- |
435 |
- |
| to-string-observe.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Observable operations from string coercion
info: |
1. Let string be ? ToString(string).
--- |
828 |
- |
| two-ignore-end-str.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform two-character patterns that are interrupted by the end
of the string
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
[...]
ii. Else if k ≤ length-3 and the two code units at indices k+1 and
k+2 within string are both hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by two zeroes plus the two hexadecimal digits at indices k+1
and k+2 within string.
2. Increase k by 2.
[...]
--- |
1777 |
- |
| two-ignore-non-hex.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: >
Does not transform two-character patterns that contain non-hexadecimal
digits
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
[...]
ii. Else if k ≤ length-3 and the two code units at indices k+1 and
k+2 within string are both hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by two zeroes plus the two hexadecimal digits at indices k+1
and k+2 within string.
2. Increase k by 2.
[...]
--- |
1247 |
- |
| two.js |
---
esid: sec-unescape-string
es6id: B.2.1.2
description: Translation of patterns with two digits
info: |
[...]
5. Repeat, while k ≠ length,
[...]
a. Let c be the code unit at index k within string.
b. If c is %, then
[...]
ii. Else if k ≤ length-3 and the two code units at indices k+1 and
k+2 within string are both hexadecimal digits, then
1. Let c be the code unit whose value is the integer represented
by two zeroes plus the two hexadecimal digits at indices k+1
and k+2 within string.
2. Increase k by 2.
[...]
--- |
2984 |
- |