gpt4 book ai didi

javascript - 如何检查对象是否为空?

转载 作者:行者123 更新时间:2023-12-04 11:04:54 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How do I test for an empty JavaScript object?

(48 个回答)


8 天前关闭。




我正在学习 JavaScript。我无法理解空物体的概念。据我了解,在某些情况下,我需要检查变量是否包含对象并具有值。
到目前为止,我知道一个变量可以是未定义 .

var car; // the value is undefined, as well as the type (which is it? number, array, etc.)
我也知道,所有有值(value)的东西都是 真实 :
var car = "Opel";
Boolean(car); // true
任何没有值的东西都是假的:
var car = ""; // typeof string, but it is empty, so
Boolean(car); // false
Boolean(null); // false
那么为什么它对数组和对象的工作方式不同呢?为什么这一切 真实 ?不应该为空数组和对象返回 ?
var car = {make: "Opel", year: 2015};
Boolean(car); // true
car = {};
Boolean(car); // true
car = ["BMW", "Opel"];
Boolean(car); // true
car = [];
Boolean(car); // true
现在我看到有一些方法可以用来检查对象的长度,但我还没有达到那个部分。
我在 W3Schools 网站上学习,这让我很困惑:
但是你不能测试一个对象是否为空,因为如果对象是未定义的,这会抛出一个错误:
不正确:
if (myObj === null) 
要解决这个问题,您必须测试一个对象是否不为空,并且不为未定义。
但这仍然会引发错误:
不正确:
if (myObj !== null && typeof myObj !== "undefined")
因此,您必须先测试 not undefined,然后才能测试 not null:
正确的:
if (typeof myObj !== "undefined" && myObj !== null)
我仍然无法理解这里的最后一行。

最佳答案

检查是否 对象为空:

Object.keys(yourObject).length

关于javascript - 如何检查对象是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65926112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com