JavaScript 数据类型
1、数据类型
2、ES 语言介绍及相关示例
ES 是动态语言,弱类型语言。
- 动态语言:声明变量时,不需指定具体类型
- 静态语言:声明变量时,需要指定具体类型
- 弱类型语言:允许隐式类型转换
- 强类型语言:不允许隐式类型转换
备注:强弱类型语言,可以通过字符串和数字相加进行判断
// Input
console.log('a' + 1 + 'b')
// Output
(下午3:43:04)
a1b
Info: End process (下午3:43:05)
虽然事先声明了变量,但是变量可以重新赋值任何类型。
/*
说明:
1、遇到字符串,加号就是拼接字符串,所有非字符串隐式转换为字符串
2、如果没有字符串,加号把其它所有类型都当数字处理,非数字类型隐式转换为数字
3、undefined 特殊,因为它都没有定义值,所以转换数字失败得到一个特殊值 NaN
4、如果运算符是逻辑运算符,短路符,返回的就是短路时的类型,没有隐式转换
5、除非你十分明确,否则不要依赖隐式转换。写代码的时候,往往为了程序的健壮,请显式转换
*/
console.log("=====String=====")
console.log(1, a = 3 + 'Jiao', typeof(a))
console.log(2, a = null + 'Jiao', typeof(a))
console.log(3, a = undefined + 'Jiao', typeof(a))
console.log(4, a = true + 'Jiao', typeof(a))
console.log("=====Number=====")
console.log(5, a = 3 + 8, typeof(a))
console.log(6, a = null + 8, typeof(a))
console.log