Skip to content

Add test case where iteratorbindinginitialization-bindingrestelement throws#4919

Open
G-Lee1031 wants to merge 1 commit intotc39:mainfrom
G-Lee1031:iteratorbindinginitialization-bindingrestelement
Open

Add test case where iteratorbindinginitialization-bindingrestelement throws#4919
G-Lee1031 wants to merge 1 commit intotc39:mainfrom
G-Lee1031:iteratorbindinginitialization-bindingrestelement

Conversation

@G-Lee1031
Copy link
Contributor

@G-Lee1031 G-Lee1031 commented Feb 11, 2026

Hello.
This PR adds a test case where IteratorBindingInitialization of ArrayBindingPattern : [Elision? BindingRestElement] throws in step 2.

  • First
    In IteratorBindingInitialization of ArrayBindingPattern : [Elision? BindingRestElement] step 1.a, nothing happens since value is an empty string. and in step 2, IteratorBindingInitialization of BindingRestElement : ... BindingPattern is performed.

  • Second
    In IteratorBindingInitializatiㅐ of BindingRestElement : ... BindingPattern, empty array A is created and performs BindingInitialization of BindingPattern with arguments A and environment since iteratorRecord.[[Done]] is true.

  • Third
    As a result of the former step, v is declared and defined as undefined since iteratorRecord.[[Done]] (where iteratorRecord is GetIterator(A, sync)) is true. After that, BindingInitialization of BindingPattern : ArrayBindingPattern is performed with arguments v and environment.

  • Fourth
    In BindingInitialization of BindingPattern : ArrayBindingPattern step 1, GetIterator(value, sync) throws TypeError since value is undefined.

@G-Lee1031 G-Lee1031 requested a review from a team as a code owner February 11, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants