美文网首页
JavaScript数据类型

JavaScript数据类型

作者: 写前端的大叔 | 来源:发表于2020-02-07 15:45 被阅读0次

    JavaScript中的每一个值都属于某一种特定的类型,类型被广泛运用于变量,函数参数、表达式、返回值等。JavaScript一共有7种数据类型,分别为:NullUndefinedNumberObjectStringBooleanSymbol

    Null和Undefined

    undefined表示变量定义时,当没有赋值给变量时,会默认赋值一个undefined给变量,undefined不是关键字,是一个全局变量。
    null表示是定义了但为空值,指针对象为空,我们一般都会使用null来将对象清空,比如在原型链中查找原型对象时,顶层的原型对象指向null。具体实例如下所示:

    let a;
    let b = null;
    console.log(a == b);//true
    console.log(a === b);//false
    console.log(typeof a);//undefined
    console.log(typeof b);//object
    

    void 0

    在js中用void 0也可以表示undefined,并且不能被修改,前面说过,undefined是一个全局变量,是可以被修改的,所以一般都使用void 0来代替undefinedvoid 后面跟上一个表达式,返回的都是 undefined

    let c = void 0;
    console.log(c);//undefined
    let d = void 1;
    console.log(d);//undefined
    

    Boolean

    Boolean类型有两个值,分别为truefalse。使用Boolean(values)可以将任意值强制转化为Boolean类型,除了以下6个类型转为false,其它的都将强制转化为true

    • undefined
    • null
    • ''
    • -0
    • +0
    • NaN

    String

    String用于表示文本数据,全局对象是一个用于字符串或一个字符序列的构造函数。字符串的最大长度为2^53-1。

    Number

    Number类型指的就是数字类型,相对比较简单,这里主要是介绍下为什么0.1+0.2 == 0.3不成立,如下所示:

    console.log(0.1 + 0.2 == 0.3)//false
    

    这是因为根据双精度浮点数的定义,Number 类型中有效的整数范围是 -0x1fffffffffffff0x1fffffffffffff,所以 Number 无法精确表示此范围外的整数。解决方案是一般将其转成整数再进行运算,如下所示:

    console.log((0.1 * 10 + 0.2 * 10)/10 == 0.3)//false
    

    Symbol

    symbolES6中引入的类型,主要是为了防止对象的key重复和使用symbol.iterator来使用for of

    Ojbect

    JavaScript中所有的对象都来自于Ojbect,所有对象从Object.prototype继承属性和方法。
    个人博客

    相关文章

      网友评论

          本文标题:JavaScript数据类型

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