JavaScript 类型转换

127 阅读1分钟

JavaScript 数据类型

在 JavaScript 中有 5 种不同的数据类型:

  • string

  • number

  • boolean

  • object

  • function 3 种对象类型:

  • Object

  • Date

  • Array 2 个不包含任何值的数据类型:

  • null

  • undefined

typeof 操作符

你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。

typeof "John"                 // 返回 string
typeof 3.14                   // 返回 number
typeof NaN                    // 返回 number
typeof false                  // 返回 boolean
typeof [1,2,3,4]              // 返回 object
typeof {name:'John', age:34}  // 返回 object
typeof new Date()             // 返回 object
typeof function () {}         // 返回 function
typeof myCar                  // 返回 undefined (如果 myCar 没有声明)
typeof null                   // 返回 object

Notice:

  • NaN 的数据类型是 number
  • 数组(Array)的数据类型是 object
  • 日期(Date)的数据类型为 object
  • null 的数据类型是 object
  • 未定义变量的数据类型为 undefined 如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 object。

constructor 属性

constructor 属性返回所有 JavaScript 变量的构造函数。

你可以使用 constructor 属性来查看对象是否为数组 (包含字符串 "Array"):

<p id="demo"></p>
	<script>
		var fruits = ["Banana", "Orange", "Apple", "Mango"];
		document.getElementById("demo").innerHTML = isArray(fruits);

		function isArray(myArray) {
			return myArray.constructor.toString().indexOf("Array") > -1;
		}
	</script>

运行结果为true。

你可以使用 constructor 属性来查看对象是否为日期 (包含字符串 "Date"):

<p id="demo"></p>
	<script>
		var myDate = new Date();
		document.getElementById("demo").innerHTML = isDate(myDate);

		function isDate(myDate) {
			return myDate.constructor.toString().indexOf("Date") > -1;
		}
	</script>

运行结果为true。