Hướng dẫn what does undefined do in javascript? - undefined làm gì trong javascript?

Thuộc tính toàn cầu undefined đại diện cho giá trị nguyên thủy undefined. Đây là một trong những loại nguyên thủy của JavaScript.undefined property represents the primitive value undefined. It is one of JavaScript's primitive types.

Thử nó

Cú pháp

Sự mô tả

undefined là một tài sản của đối tượng toàn cầu. Đó là, nó là một biến trong phạm vi toàn cầu. Giá trị ban đầu của undefined là giá trị nguyên thủy undefined.

Trong tất cả các trình duyệt phi pháp lý, undefined là một tài sản không thể cấu hình, không có thể đi được. (Ngay cả khi điều này không phải là trường hợp, hãy tránh ghi đè nó.)

Một biến chưa được gán một giá trị là loại undefined. Một phương thức hoặc câu lệnh cũng trả về undefined nếu biến đang được đánh giá không có giá trị được gán. Một hàm trả về undefined nếu một giá trị không phải là

let x;
if (x === undefined) {
  // these statements execute
} else {
  // these statements do not execute
}
5.

Lưu ý: Mặc dù bạn có thể sử dụng undefined như một định danh (tên biến) trong bất kỳ phạm vi nào khác ngoài phạm vi toàn cầu (vì undefined không phải là một từ dành riêng), nhưng làm như vậy là một ý tưởng rất tồi sẽ khiến mã của bạn khó duy trì và gỡ lỗi. While you can use undefined as an identifier (variable name) in any scope other than the global scope (because undefined is not a reserved word), doing so is a very bad idea that will make your code difficult to maintain and debug.

// DON'T DO THIS

(() => {
  const undefined = "foo";
  console.log(undefined, typeof undefined); // foo string
})();

((undefined) => {
  console.log(undefined, typeof undefined); // foo string
})("foo");

Ví dụ

Bình đẳng nghiêm ngặt và không xác định

Bạn có thể sử dụng undefined và các toán tử bất bình đẳng và bình đẳng nghiêm ngặt để xác định xem một biến có giá trị hay không. Trong mã sau, biến

let x;
if (x === undefined) {
  // these statements execute
} else {
  // these statements do not execute
}
9 không được khởi tạo và câu lệnh
let x;
if (typeof x === "undefined") {
  // these statements execute
}
0 đánh giá là true.

let x;
if (x === undefined) {
  // these statements execute
} else {
  // these statements do not execute
}

Lưu ý: Toán tử bình đẳng nghiêm ngặt (trái ngược với toán tử bình đẳng tiêu chuẩn) phải được sử dụng ở đây, bởi vì

let x;
if (typeof x === "undefined") {
  // these statements execute
}
1 cũng kiểm tra xem
let x;
if (x === undefined) {
  // these statements execute
} else {
  // these statements do not execute
}
9 có phải là
let x;
if (typeof x === "undefined") {
  // these statements execute
}
3 hay không, trong khi bình đẳng nghiêm ngặt không. Điều này là do
let x;
if (typeof x === "undefined") {
  // these statements execute
}
3 không tương đương với undefined.
The strict equality operator (as opposed to the standard equality operator) must be used here, because
let x;
if (typeof x === "undefined") {
  // these statements execute
}
1 also checks whether
let x;
if (x === undefined) {
  // these statements execute
} else {
  // these statements do not execute
}
9 is
let x;
if (typeof x === "undefined") {
  // these statements execute
}
3, while strict equality doesn't. This is because
let x;
if (typeof x === "undefined") {
  // these statements execute
}
3 is not equivalent to undefined.

Xem so sánh bình đẳng và sự giống nhau để biết chi tiết.

Toán tử loại và không xác định

Ngoài ra,

let x;
if (typeof x === "undefined") {
  // these statements execute
}
6 có thể được sử dụng:

let x;
if (typeof x === "undefined") {
  // these statements execute
}

Một lý do để sử dụng

let x;
if (typeof x === "undefined") {
  // these statements execute
}
6 là nó không gây ra lỗi nếu biến chưa được khai báo.

// x has not been declared before
// evaluates to true without errors
if (typeof x === 'undefined') {
  // these statements execute
}

// Throws a ReferenceError
if (x === undefined) {

}

Tuy nhiên, có một sự thay thế khác. JavaScript là một ngôn ngữ có phạm vi tĩnh, vì vậy biết nếu một biến được khai báo có thể được đọc bằng cách xem liệu nó có được khai báo trong một bối cảnh kèm theo hay không.

Phạm vi toàn cầu bị ràng buộc với đối tượng toàn cầu, do đó, việc kiểm tra sự tồn tại của một biến trong bối cảnh toàn cầu có thể được thực hiện bằng cách kiểm tra sự tồn tại của một thuộc tính trên đối tượng toàn cầu, ví dụ, sử dụng toán tử ____28, ví dụ::

if ("x" in window) {
  // These statements execute only if x is defined globally
}

Void Toán tử và không xác định

Toán tử

let x;
if (typeof x === "undefined") {
  // these statements execute
}
9 là một giải pháp thay thế thứ ba.

let x;
if (x === void 0) {
  // these statements execute
}

// y has not been declared before
if (y === void 0) {
  // throws Uncaught ReferenceError: y is not defined
}

Thông số kỹ thuật

Sự chỉ rõ
Thông số kỹ thuật ngôn ngữ Ecmascript # Sec-under được xác định
# sec-undefined

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Tại sao chúng ta sử dụng không xác định?

Không xác định có nghĩa là để nói rằng tài liệu tham khảo không tồn tại.Một giá trị null có một tham chiếu xác định đến "không có gì".Nếu bạn đang gọi một thuộc tính không tồn tại của một đối tượng, thì bạn sẽ không được xác định.Nếu tôi làm cho tài sản đó có chủ ý trống rỗng, thì nó phải là vô hiệu để bạn biết rằng nó có mục đích.. A null value has a defined reference to "nothing". If you are calling a non-existing property of an object, then you will get undefined . If I would make that property intentionally empty, then it must be null so you know that it's on purpose.

Có nghĩa là 0 JavaScript không?

Nó có nghĩa là không có gì.Không xác định thường có nghĩa là một biến đã được khai báo nhưng chưa được xác định.NULL và không xác định là các giá trị giả.. undefined typically means a variable has been declared but not defined yet. null and undefined are falsy values.

Điều gì xảy ra khi bạn thêm không xác định?

Thêm số vào kết quả không xác định trong NAN (không phải là số), điều này sẽ không đưa bạn đến bất cứ đâu.results in NaN (not-a-number), which won't get you anywhere.

Không được xác định == null?

Nó có nghĩa là NULL bằng với không xác định nhưng không giống nhau.Khi chúng tôi xác định một biến để không xác định thì chúng tôi đang cố gắng truyền đạt rằng biến không tồn tại.Khi chúng tôi xác định một biến thành NULL thì chúng tôi đang cố gắng truyền đạt rằng biến trống.null is equal to undefined but not identical. When we define a variable to undefined then we are trying to convey that the variable does not exist . When we define a variable to null then we are trying to convey that the variable is empty.