美文网首页
JS 里的数据类型中一些我需要记忆的知识点

JS 里的数据类型中一些我需要记忆的知识点

作者: wfcsm | 来源:发表于2019-03-22 14:55 被阅读0次

    JS中一共有7中数据类型分别是:string(字符串),number(数字),boolean(布尔),null,undefined,object(对象)以及ES6新增的symbol(符号)。

    基础数据类6种:string,number,boolean,null,undefined,symbol(这6种数据类型不能添加属性)
    引用数据类型1中:object

    JS中有三种方法可以确实一个值是什么数据类型

    typeof
    instanceof
    Object.prototypeof.toString
    

    需要注意:
    typeof在检测函数的时候,会返回function
    typeof在检测null,[ ]数组,{ }对象,window 的时候 ,会返回object
    所以typeof返回的值有7个分别是:string,number,boolean,function,object ,symbol,undefined与7种数据类型相比,null变为的function,其余都是相同的

    因为typeof检测数组和对象都会返回object,所以无法检验。故检测数组和对象应用instanceof 来检验,instanceof可以详细的区别数组和对象

    delete命令用于删除对象的属性,删除成功后返回true。


    string(字符串)

    string的最大长度为16位

    object(对象)

    对象的所以键名都是字符串,可以不加引号,但必须满足标识符的命名规范,如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),且也不是数字,则必须加上引号,否则会报错。

    // 报错
    var obj = {
      1p: 'Hello World'
    };
    
    // 不报错
    var obj = {
      '1p': 'Hello World',
      'h w': 'Hello World',
      'p+q': 'Hello World'
    };
    

    null

    null作为引用类型的变量的初始值
    undefined作为基本数据类型的变量的初始值

    console.log(null==undefined);//true
    console.log(null===undefined);//false
    

    undefined

    undefined型只有一个值,即特殊的undefined。使用var声明变量但未对其加以初始化时,这个变量的值就就是undefined。

    number

    任何涉及与NaN的操作都会返回NaN,JS有一个isNaN()函数,可以判断接收的参数是否为NaN,或者参数转化为数字后是否为NaN

    console.log(0/0);//NaN,0/0返回NaN
    console.log(isNaN(undefined)); //true,返回NaN
    console.log(isNaN(null)); //false,被转为数字0
    

    Symbol

    ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。
    Symbol 值通过Symbol函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。
    注意,Symbol函数前不能使用new命令,否则会报错。这是因为生成的 Symbol 是一个原始类型的值,不是对象。也就是说,由于 Symbol 值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。

    相关文章

      网友评论

          本文标题:JS 里的数据类型中一些我需要记忆的知识点

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