All checks were successful
ci / fast (linux) (push) Successful in 6m27s
Implement three missing JS operators that together unblock 57 Test262 full-suite tests (pass rate 42% → 44%): - delete: reference-aware unary operator that removes object properties, with special handling for member/computed/identifier expressions - void: unary operator that evaluates operand and returns undefined - in: binary operator that checks property existence via prototype chain, gated by allow_in flag to disambiguate from for-in loops The allow_in mechanism (with_no_in helper) prevents the parser from consuming `in` as a binary operator inside for-loop initializers, which would break for-in/for-of parsing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
16 lines
285 B
JavaScript
16 lines
285 B
JavaScript
// void 0 returns undefined
|
|
console.log(void 0);
|
|
|
|
// void expression returns undefined
|
|
console.log(void (1 + 2));
|
|
|
|
// void evaluates operand for side effects
|
|
var x = 0;
|
|
void (x = 5);
|
|
console.log(x);
|
|
|
|
// void with function call
|
|
function inc() { x = x + 1; }
|
|
void inc();
|
|
console.log(x);
|