js数据类型

作者: 璐璐熙可 | 来源:发表于2018-07-18 05:22 被阅读39次

    概述

    JavaScript是弱类型语言,但不是没有数据类型,JavaScript规定了五种简单的数据类型

    • (1)数值(Number):整数和小数(比如1和3.14)
    • (2)字符串(String):字符组成的文本(比如'Hello World')
    • (3)布尔值(Boolean):true(真)和false(假)两个特定值
    • (4)Undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
    • (5)Null:表示无值,即此处的值就是“无”的状态。

    还有一种复杂的数据类型--Object,Object本质上是一组无序的名值对组合

    对象又可以分成三个子类型。

    • 狭义的对象(object)
    • 数组(array)
    • 函数(function)

    typeof运算符

    • (1)原始类型
      数值、字符串、布尔值分别返回number、string、boolean。
    typeof 123 // "number"
    typeof '123' // "string"
    typeof false // "boolean"
    
    • (2)undefined
      undefined返回undefined。
    typeof undefined
    // "undefined"
    

    利用这一点,typeof可以用来检查一个没有声明的变量,而不报错。

    v
    // ReferenceError: v is not defined
    
    typeof v
    // "undefined"
    

    上面代码中,变量v没有用var命令声明,直接使用就会报错。但是,放在typeof后面,就不报错了,而是返回undefined。

    实际编程中,这个特点通常用在判断语句。

    // 错误的写法
    if (v) {
      // ...
    }
    // ReferenceError: v is not defined
    
    // 正确的写法
    if (typeof v === "undefined") {
      // ...
    }
    

    (3)其他

    除此以外,其他情况都返回object。

    typeof window // "object"
    typeof {} // "object"
    typeof [] // "object"
    typeof null // "object"
    

    从上面代码可以看到,空数组([])的类型也是object,这表示在JavaScript内部,数组本质上只是一种特殊的对象。

    相关文章

      网友评论

        本文标题:js数据类型

        本文链接:https://www.haomeiwen.com/subject/oypnpftx.html