ReferenceError: assignment to undeclared variable "x"
Ngoại lệ JavaScript chế độ strict "Assignment to undeclared variable" xảy ra khi giá trị được gán cho một biến chưa được khai báo.
Thông báo
ReferenceError: x is not defined (V8-based) ReferenceError: assignment to undeclared variable x (Firefox) ReferenceError: Can't find variable: x (Safari)
Loại lỗi
ReferenceError chỉ trong chế độ strict.
Điều gì đã xảy ra?
Bạn có một phép gán dạng x = ..., nhưng x chưa được khai báo trước với từ khóa var, let, hoặc const. Lỗi này chỉ xảy ra trong code chế độ strict. Trong code không phải strict, việc gán cho biến chưa được khai báo sẽ tạo ngầm một thuộc tính trên phạm vi toàn cục.
Ví dụ
>Các trường hợp không hợp lệ
Trong trường hợp này, biến "bar" là một biến chưa được khai báo.
js
function foo() {
"use strict";
bar = true;
}
foo(); // ReferenceError: assignment to undeclared variable bar
Các trường hợp hợp lệ
Để làm cho "bar" là một biến được khai báo, bạn có thể thêm từ khóa let, const, hoặc var trước nó.
js
function foo() {
"use strict";
const bar = true;
}
foo();