Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中变量的默认数据类型是什么?_Javascript_Variables_Let - Fatal编程技术网

Javascript中变量的默认数据类型是什么?

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; 当

我正在研究一个小挑战,从应用的角度学习JavaSCRCPT,而不仅仅是学习它的“理论”

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
。搜索时希望有无数的重复项。发现了一个重复,但没有完全解决此问题。