gpt4 book ai didi

JavaScript 为什么 getItem() 有两种返回类型?

转载 作者:行者123 更新时间:2023-12-01 02:26:58 25 4
gpt4 key购买 nike

我目前正在学习基本的 JavaScript 类(class),有一个例子,这让我很困惑,因为 getItem() 函数似乎可以有两种返回类型。

if(!localStorage.getItem('name')) {
setUserName();
} else {
var storedName = localStorage.getItem('name');
myHeading.textContent =storedName;
}

因此,在 if 条件中,getItem 返回 true 或 false,具体取决于 localStorage 中是否存储了 Item。然后返回值作为字符串存储在变量中以将其输出到网站上(在“else”部分)。我用谷歌搜索了这个,没有找到任何东西,但也许我搜索错了,所以我很高兴能在这里得到任何帮助。我不知道这段代码是否足以理解我的意思,但如果有必要,我稍后会发布更多内容。

最佳答案

getItem返回:

A DOMString containing the value of the key. If the key does not exist, null is returned.

什么是 DOMString

A DOMString is a UTF-16 String. As JavaScript already uses such strings, DOMString is mapped directly to a String.

因此,它返回一个字符串。字符串(除非它们为空)被视为 "truthy" in JS :

In JavaScript, a truthy value is a value that is considered true when evaluated in a Boolean context. All values are truthy unless they are defined as falsy (i.e., except for false, 0, "", null, undefined, and NaN).

因此,换句话说,如果它返回一个非空字符串,则 if 语句认为它为 true。如果不是,则认为是假的。

这也意味着您得出的结论,即 getItem 有“两种返回类型”是不正确的。它具有单一返回类型,并且可以评估该类型的真实性。

关于JavaScript 为什么 getItem() 有两种返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48694376/

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