Javascript中变量的默认数据类型是什么?
我正在研究一个小挑战,从应用的角度学习JavaSCRCPT,而不仅仅是学习它的“理论”Javascript中变量的默认数据类型是什么?,javascript,variables,let,Javascript,Variables,Let,我正在研究一个小挑战,从应用的角度学习JavaSCRCPT,而不仅仅是学习它的“理论” let count = undefined; 我正在编写的部分代码如下: let count; splitStory.forEach(function(element) { if (overusedWords.includes(element)) { count = count + 1; } }) console.log(count); let count = undefined; 当
let count = undefined;
我正在编写的部分代码如下:
let count;
splitStory.forEach(function(element) {
if (overusedWords.includes(element)) {
count = count + 1;
}
})
console.log(count);
let count = undefined;
当我运行该函数时,它将
NaN
记录到控制台。然而,当我改变时,让我们计数
到让count=0
,它记录应记录到控制台的正确数字。据我所知,对变量使用let
声明是有效的,但在这种情况下,似乎存在问题。如果我要替换count=count+1
到count='sample\u string'
,它工作并将'sample\u string'
记录到控制台。这引出了我的问题,除非声明中另有规定,否则变量的默认数据类型是字符串吗?JavaScript支持变量类型。它根据变量在运行时的值修改变量的数据类型
let count = undefined;
例如,如果您使用一些“字符串”值初始化变量,如-
let count = 'someString'; //data type would be string
let count = undefined;
然后,如果你再分配一些数值,比如-
count = 23 // data type of count becomes number
let count = undefined;
但是,如果不赋值,只声明变量,则其数据类型为“未定义”。
let count = undefined;
所以在你写的时候:let count代码>
这等于:
let count = undefined;
希望这能澄清您的疑问。使用var或let声明的变量的默认值是未定义的,除非您将其初始化为值,在这种情况下,它将获得值的类型。如果不初始化它,则在将其设置为某个值之前,它不会获取类型
let count = undefined;
看
let count = undefined;
正如@Jaromanda在前面的评论中所说,javascript是一种非类型化语言,或者有时可能称为弱类型(这不是一个合适的短语,因为JS本身根本没有编译器),这意味着javascript变量可以包含任何数据类型的值
let count = undefined;
有什么问题?
通常,当您定义如下内容时:let count
,count
本身将保持未初始化状态,直到您直接为其分配某个值。因此,在这种情况下,未分配的值元素类型是未定义的,它有一个值未定义的
,然后无论何时尝试控制台.log
这样的东西,它都将是未定义的,让我们看看这个例子
let count = undefined;
let count;
console.log('计数类型为:',计数类型为)
log('count value为:',count)
javascript变量是非类型化的-但是let count
相当于let count=ui定义的
默认值为未定义的
<代码>未定义+1
为NaN
NaN+1
也是NaN
。搜索时希望有无数的重复项。发现了一个重复,但没有完全解决此问题。