Throw a TypeError when reassigning a const (#12252)
This commit is contained in:
parent
b4ae7b7893
commit
a967910b8b
@ -871,7 +871,7 @@ helpers.taggedTemplateLiteralLoose = helper("7.0.0-beta.0")`
|
|||||||
|
|
||||||
helpers.readOnlyError = helper("7.0.0-beta.0")`
|
helpers.readOnlyError = helper("7.0.0-beta.0")`
|
||||||
export default function _readOnlyError(name) {
|
export default function _readOnlyError(name) {
|
||||||
throw new Error("\\"" + name + "\\" is read-only");
|
throw new TypeError("\\"" + name + "\\" is read-only");
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); }
|
function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
var a = "foo";
|
var a = "foo";
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); }
|
function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
|
||||||
|
|
||||||
var a = 1,
|
var a = 1,
|
||||||
b = 2;
|
b = 2;
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); }
|
function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
|
||||||
|
|
||||||
for (var i = 0; i < 3; i = (_readOnlyError("i"), i + 1)) {
|
for (var i = 0; i < 3; i = (_readOnlyError("i"), i + 1)) {
|
||||||
console.log(i);
|
console.log(i);
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); }
|
function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
|
||||||
|
|
||||||
var c = 17;
|
var c = 17;
|
||||||
var a = 0;
|
var a = 0;
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); }
|
function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
|
||||||
|
|
||||||
var MULTIPLIER = 5;
|
var MULTIPLIER = 5;
|
||||||
MULTIPLIER = (_readOnlyError("MULTIPLIER"), "overwrite");
|
MULTIPLIER = (_readOnlyError("MULTIPLIER"), "overwrite");
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); }
|
function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
|
||||||
|
|
||||||
var MULTIPLIER = 5;
|
var MULTIPLIER = 5;
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); }
|
function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
|
||||||
|
|
||||||
var a = "str";
|
var a = "str";
|
||||||
_readOnlyError("a"), --a;
|
_readOnlyError("a"), --a;
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
function _readOnlyError(name) { throw new Error("\"" + name + "\" is read-only"); }
|
function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
|
||||||
|
|
||||||
var foo = 1;
|
var foo = 1;
|
||||||
_readOnlyError("foo"), foo++;
|
_readOnlyError("foo"), foo++;
|
||||||
|
|||||||
2
packages/babel-plugin-transform-block-scoping/test/fixtures/exec/constant-violation.js
vendored
Normal file
2
packages/babel-plugin-transform-block-scoping/test/fixtures/exec/constant-violation.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
const a = 1;
|
||||||
|
expect(() => { a = 2 }).toThrow(TypeError);
|
||||||
Loading…
x
Reference in New Issue
Block a user