【发布时间】:2019-06-06 00:51:46
【问题描述】:
JavaScript 有 7 种原始数据类型:字符串、数字、布尔值、null、未定义、符号、大整数
我了解三种数据类型,字符串、数字、布尔值;我也明白 bigint 是因为数量不够而引入的。为什么 number 是简单的浮点数的一个例子:
var a = 1.000000000000001;
var b = 1.0000000000000001;
console.log(Number.isInteger(a)) //false
console.log(Number.isInteger(b)) // true
以下是我的问题:
- 什么是未定义的?它与c ++中的void相同吗?但 void 是一个关键字。为什么 undefined 是 Javascript 中的原始数据类型?
- 为什么要将数据类型设为空?似乎
typeof nullreturn 是一个对象。 undefined 和 null 有什么区别? c++中有什么类似的东西? - 什么是符号?我读了这个链接,What is the motivation for bringing Symbols to ES6?,谁能给我一个我们真的需要符号的例子吗?
【问题讨论】:
-
不要将一种语言的 (javascript) 功能映射到另一种语言的 (C++) 功能。未定义在 c++ 中没有任何对应物。只需以全新的思维学习即可。
-
1.javascript是解释型语言,不定变量是在其解释中使用时没有声明的变量。
-
2. javascript是一种对象语言,这意味着每个变量也被视为一个对象,因此被指针引用。如果这个指针为空,则表示没有这个对象的实例
-
@MisterJojo——你的第一条评论没有帮助。 undefined 是一个值,它与未声明的变量无关。您的第二条评论也具有误导性,null 是一个与 undefined 非常相似的值,但允许细微差别,因为它们可以被不同地解释。
-
@Mister Jojo ,所以在编译语言中,编译时会出错,但在解释语言中,它必须使用 undefined?
标签: javascript