Sử dụng toán tử
const obj = {}
4 để kiểm tra xem một biến có phải là null trong Python hay không, e. g. const obj = {}
5. Toán tử const obj = {}
4 trả về const obj = {}
7 nếu các giá trị ở bên trái và bên phải trỏ đến cùng một đối tượng và nên được sử dụng khi kiểm tra các đơn lẻ như const obj = {}
8Lưu ý rằng không có giá trị
const obj = {}
9 trong PythonĐối tượng
const obj = {}
8 đại diện cho sự vắng mặt của một giá trị. Điều này tương đương với const obj = {}
9 trong các ngôn ngữ khácNếu bạn cần kiểm tra xem một biến có tồn tại và đã được khai báo hay chưa, hãy sử dụng khối
console.log[obj === {}] // false
2try:
does_this_exist
print['variable exists']
except NameError:
print['variable doesnt exist']
Câu lệnh
const obj = {}
40 đầu tiên kiểm tra xem biến có lưu trữ giá trị const obj = {}
8 hay không và câu lệnh thứ hai - nếu biến không lưu trữ giá trị const obj = {}
8Bạn nên sử dụng toán tử
const obj = {}
4 khi cần kiểm tra xem một biến có lưu trữ giá trị const obj = {}
8 hay khôngKhi chúng tôi sử dụng
const obj = {}
4, chúng tôi kiểm tra danh tính của đối tượngHướng dẫn kiểu pep 8 đề cập rằng việc so sánh với các đơn lẻ như
const obj = {}
8 phải luôn được thực hiện với const obj = {}
4 hoặc const obj = {}
48 và không bao giờ là các toán tử đẳng thứcSử dụng các toán tử đẳng thức [bằng
const obj = {}
49 và không bằng const obj = {}
50 ] khi bạn cần kiểm tra xem một giá trị có bằng một giá trị khác hay không, e. g. const obj = {}
51Đây là một ví dụ minh họa rõ hơn việc kiểm tra danh tính [
const obj = {}
4] so với kiểm tra sự bình đẳng [const obj = {}
49]Ta đã khai báo 2 biến lưu trữ cùng một danh sách
Chúng tôi đặt biến thứ hai thành biến thứ nhất, vì vậy cả hai biến đều trỏ đến cùng một đối tượng
const obj = {}
54 trong bộ nhớBây giờ, hãy tạo một bản sao nông của danh sách và gán nó cho biến thứ hai
Lưu ý rằng việc kiểm tra danh tính không thành công. Mặc dù hai danh sách lưu trữ các giá trị giống nhau, nhưng theo cùng một thứ tự, chúng trỏ đến các vị trí khác nhau trong bộ nhớ [chúng không phải là cùng một đối tượng]
Khi chúng ta sử dụng toán tử bằng kép, Python gọi phương thức
const obj = {}
55 trên đối tượngĐó là cuộc gọi
const obj = {}
56 const obj = {}
57. Về lý thuyết, phương pháp này có thể được thực hiện theo một cách không thể đoán trước, vì vậy việc kiểm tra const obj = {}
8 bằng toán tử const obj = {}
4 sẽ trực tiếp hơnBạn có thể sử dụng hàm id[] để lấy danh tính của một đối tượng
Hàm trả về một số nguyên, được đảm bảo là duy nhất và không đổi trong suốt thời gian tồn tại của đối tượng
Hàm
const obj = {}
40 trả về địa chỉ của đối tượng trong bộ nhớ trong CPythonNếu hai biến tham chiếu đến cùng một đối tượng thì hàm
const obj = {}
40 sẽ cho kết quả giống nhauTruyền giá trị
const obj = {}
8 cho hàm const obj = {}
40 sẽ luôn trả về cùng một kết quả vì chỉ có một phiên bản của const obj = {}
8 trong chương trình PythonBạn cũng có thể xem các ví dụ trực tuyến để kiểm tra tính trung thực
Tuy nhiên, điều này rất khác so với việc kiểm tra rõ ràng xem một biến có lưu trữ giá trị
const obj = {}
8 hay không bởi vì có nhiều giá trị giả khác không phải là const obj = {}
8Tất cả các giá trị không trung thực được coi là giả. Các giá trị giả trong Python là
- hằng số được xác định là sai.
8 vàconst obj = {}
48const obj = {}
49 [không] của bất kỳ loại số nàoconst obj = {}
- trình tự và bộ sưu tập trống.
70 [chuỗi trống],const obj = {}
71 [bộ trống],const obj = {}
72 [danh sách trống],const obj = {}
73 [từ điển trống],const obj = {}
74 [bộ trống],const obj = {}
75 [phạm vi trống]const obj = {}
Nếu bạn kiểm tra xem một biến có phải là giá trị trung thực hay không, thì bạn đang kiểm tra xem biến đó có phải là bất kỳ giá trị giả nào đã nói ở trên hay không, không chỉ là
const obj = {}
8 Kiểm tra xem đối tượng có trống hay không là một công việc khá đơn giản và phổ biến nhưng có nhiều cách để kiểm tra đối tượng có trống hay không. Vì vậy, trong blog này, tôi đang cố gắng trình bày tất cả các cách tốt nhất để kiểm tra xem đối tượng có trống hay không
Vì vậy, hãy tìm ra cách để thực hiện nó
Ở đây, trước tiên chúng ta tạo một Đối tượng trống bằng cách sử dụng cú pháp ký tự của đối tượng
const obj = {}
Sau khi tạo một đối tượng trống
console.log[obj === {}] // false
0, chúng tôi so sánh nó với một đối tượng trống khác giống như thế nàyconsole.log[obj === {}] // false
Chúng tôi đang nhận được
console.log[obj === {}] // false
1. Sao có thể như thế được??? console.log[{} === {}] // false
Điều này bởi vì chúng tôi đang so sánh các tham chiếu, không phải giá trị. Tham chiếu đến các đối tượng này không giống nhau, mặc dù giá trị giống nhau
Vậy làm thế nào chúng ta thực sự có thể kiểm tra xem một đối tượng có rỗng hay không?
Sử dụng đối tượng. chìa khóa
Mục tiêu. keys sẽ trả về một Array chứa tên thuộc tính của đối tượng. Nếu độ dài của mảng là 0, thì chúng ta biết rằng đối tượng trống
function isEmpty[obj] {
return Object.keys[obj].length === 0;
}
chúng ta cũng có thể kiểm tra điều này bằng cách sử dụng
console.log[obj === {}] // false
0 và console.log[obj === {}] // false
1Đây là cách đơn giản nhất để kiểm tra xem một đối tượng có trống không
Sử dụng JSON. xâu chuỗi lại
Nếu chúng ta xâu chuỗi đối tượng và kết quả chỉ là một dấu ngoặc mở và đóng, chúng ta biết đối tượng trống
function isEmptyObject[obj]{
return JSON.stringify[obj] === '{}';
}
Lặp lại các thuộc tính đối tượng với for…in
Câu lệnh
console.log[obj === {}] // false
2 sẽ lặp qua thuộc tính liệt kê được của đối tượngfunction isEmpty[obj] {
for[var prop in obj] {
if[obj.hasOwnProperty[prop]]
return false;
}
return true;
}
Trong đoạn mã trên, chúng ta sẽ lặp qua các thuộc tính của đối tượng và nếu một đối tượng có ít nhất một thuộc tính, thì nó sẽ đi vào vòng lặp và trả về
console.log[obj === {}] // false
1. Nếu đối tượng không có bất kỳ thuộc tính nào thì nó sẽ trả về console.log[obj === {}] // false
4Sử dụng gạch dưới và Lodash
chúng ta cũng có thể kiểm tra bằng dấu gạch dưới. js như thế này
const obj = {}
1console.log[obj === {}] // false
5 là dấu gạch dưới. js để kiểm tra xem một danh sách, mảng, chuỗi, đối tượng, v.v. có trống hay không. Đầu tiên, nó tìm ra độ dài của đối số đã truyền và sau đó quyết định. Nó trả về true nếu đối số truyền vào trống, tôi. e. , không có bất kỳ phần tử nào trong đó. Nếu không, nó trả về falseSử dụng jQuery
chúng ta cũng có thể kiểm tra bằng thư viện jQuery như thế này
const obj = {}
3Cảm ơn đã đọc 😄
Nếu có bất cứ điều gì tôi đã bỏ lỡ, hoặc nếu bạn có cách tốt hơn để làm điều gì đó thì hãy cho tôi biết