其中,数字类型包括整数和浮点数,可以通过typeof关键字检查数据类型,例如:
typeof 42 // "number"
字符串类型是用单引号或双引号包裹起来的文本,例如:
typeof "hello" // "string"
布尔值类型只有两个值,即true和false,例如:
typeof true // "boolean"
null类型表示一个空值,例如:
typeof null // "object",这是一个历史遗留问题
undefined类型表示一个未定义的值,例如:
typeof undefined // "undefined"
对象类型是一种复合值,可以包含多个属性,例如:
typeof {name: "Tom", age: 18} // "object"
Symbol类型引入了一种新的原始数据类型,表示一个唯一的标识符,例如:
typeof Symbol("foo") // "symbol"
显式类型转换是通过一些内置函数来实现的,例如:
Number("42") // 将字符串转换为数字 String(42) // 将数字转换为字符串 Boolean("") // 将空字符串转换为布尔值false
隐式类型转换是在运算过程中自动进行的,例如:
"1" + 1 // "11",字符串和数字相加,会将数字转换为字符串 "2" * 3 // 6,字符串和数字相乘,会将字符串转换为数字 if (42) { /* do something */ } // 42被隐式转换为true