JavaScript有7种原始类型(string、number、boolean、null、undefined、symbol、bigint)和1种引用类型(object),类型转换分显式(如String()、Number())和隐式(如==、+运算符)两类,需注意隐式转换易引发bug。

JavaScript 有 7 种原始(primitive)数据类型和 1 种引用(object)类型。类型转换分隐式转换(自动发生)和显式转换(手动调用),理解它们的规则能避免常见 bug。
七种原始类型
原始类型是不可变的、按值传递的基本数据单元:
-
string:如
"hello"、`world` -
number:如
42、3.14、NaN、Infinity -
boolean:只有两个值:
true和false -
null:表示“空值”,是独立类型(但
typeof null返回"object",属历史遗留 bug) - undefined:变量声明未赋值、函数无返回值时的默认值
- symbol(ES6):唯一且不可变的标识符,常用于对象属性键
-
bigint(ES2020):表示任意精度整数,如
123n
一种引用类型:object
除原始类型外,其余都是 object 类型的实例,包括:
- 普通对象:
{ name: "Alice" } - 数组:
[1, 2, 3](本质是特殊对象) - 函数:
function() {}(函数也是对象,可添加属性) - 日期:
new Date() - 正则:
/abc/g - Map、Set、Promise、Error 等内置构造器实例
注意:typeof []、typeof null、typeof new Date() 都返回 "object",需用 Array.isArray()、Object.prototype.toString.call() 等方式精确判断。
标签: javascript es6 java 隐式类型转换 隐式转换
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~