美文网首页
Javascript类型的介绍

Javascript类型的介绍

作者: lynn_yang | 来源:发表于2019-01-10 18:44 被阅读0次

    在很多人的眼中,Javascript这中动态语言,是没有类型(type)的,但事实上对于JS来说掌握它的类型是非常重要的,对JS来说类型是值的内部特征,它定义了值的行为,以使其区别于其他值。

    1. 内置类型

    JS有七种内置的类型,分别是:

    • Number
    • String
    • Boolean
    • Symbol
    • Object
    • Null
    • Undefined

    这七种类型除Object外都是基本类型。
    当使用typeof操作符来查看值的类型时,返回的是对应类型的字符串。例如:typeof 1 === "number" //true
    但是需要注意的是,Null类型不在此列,当你使用typeof查看null的类型时,返回的会是“object”,typeof null === "object" // true JS的这个bug由来已久,至今没有修复。所以,检测一个值是不是“object”类型时,需要使用复合条件:

    var a; 
    !a && typeof a === "true" 
    

    只有同时满足这两个条件,a才是一个“object”类型的值。

    2. 变量和值的类型

    首先,对于Javascript这种“动态语言”,变量是没有类型的,语言引擎不要求变量总是持有与其初始值同类型的值,变量可以随时持任何类型的值,换句话说就是Javascript不做“类型强制”。
    那么所谓的变量的类型指的是变量所持有的值的类型。

    2.1 undefined 和 not defined

    在这里还需要注意一点的是undefined和 is not defined的区别:

    当调用一个已经申明,但未赋值的变量时,它是undefined;
    当调用一个未被申明的变量时,引擎会报错,is not defined;

    但是,bug又来了,当你使用typeof来查看一个未被赋值的变量和一个未被申明的变量时,它返回的结果都是 undefined。

     var a;
    typeof a === "undefined"//true
    typeof b === "undefined"//true
    

    以上,就是对于Javascript类型的介绍。

    相关文章

      网友评论

          本文标题:Javascript类型的介绍

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