1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 18:55:07 +00:00

LibJS: Throw on assignment of an const variable

Was stubbed out as an assert, should be handled with a runtime exception.
This commit is contained in:
Brian Gianforcaro 2020-04-12 15:50:49 -07:00 committed by Andreas Kling
parent 8e87d340c3
commit 0d41e542b7
2 changed files with 29 additions and 2 deletions

View file

@ -0,0 +1,25 @@
try {
const ConstantValue = 1;
try {
ConstantValue = 2;
} catch (e) {
assert(e.name === "TypeError");
assert(e.message === "Assignment to constant variable");
assert(ConstantValue === 1);
}
// Make sure we can define new constants in inner scopes.
//
const ConstantValue2 = 1;
do
{
const ConstantValue2 = 2;
}
while (false)
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}