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

问题描述 投票:0回答:2

我正在研究一个小挑战,以实用的方式学习Javascrcipt,而不仅仅是学习它的“理论”。

我正在编写的部分代码如下:

let count;
splitStory.forEach(function(element) {
  if (overusedWords.includes(element)) {
     count = count + 1;
  }
})
console.log(count);

当我运行该功能时,它将NaN记录到控制台。但是,当我将let count;更改为let count = 0时,它将记录应记录到控制台的正确数字。据我了解,对变量使用let声明是有效的,但是在这种情况下,似乎存在问题。如果将count = count + 1;替换为count = 'sample_string',它将起作用并将'sample_string'记录到控制台。这引出我的问题,除非声明中另外指定,否则变量的默认数据类型是否为字符串?

javascript variables let
2个回答
-1
投票

JavaScript支持变量类型。它根据变量在运行时的值修改数据类型。

例如,如果您使用一些'字符串'值初始化变量,例如-

let count = 'someString';   //data type would be string

以及稍后,如果您再次分配一些数字值,例如-

count = 23        // data type of count becomes number

但是,如果您不分配任何值而只声明变量,则其数据类型为“ undefined”。

所以在您的情况下,您写:let count;等于:

let count = undefined;

希望这可以澄清您的疑问。


-1
投票

用var或let声明的变量的默认值是undefined,除非您将其初始化为一个值,在这种情况下,它将获取该值的类型。如果不初始化它,则在将其设置为某个值之前不会得到类型。

请参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var

© www.soinside.com 2019 - 2024. All rights reserved.