JS数据类型

作者: Nice先生的狂想曲 | 来源:发表于2019-10-15 02:44 被阅读0次

    前言

    知识是无止境的,也是可以无限延伸的。就例如开始写js相关的文章后,我发布了对面向对象的解释和看法,然后延伸出其中较具代表的,之后想想还是说说数据类型

    因此,本篇文章就是说数据类型的。


    数据类型

    转的图
    symbol

    symbol指 独一无二
    示例:

      let s1 = Symbol('foo')
      let s2 = Symbol('foo')
      console.log(s1==s2);//false
    

    Symbol.for

    let s1 = Symbol.for('foo');
    let s2 = Symbol.for('foo');
    s1 === s2 // true
    

    Symbol.for()与Symbol()这两种写法,都会生成新的 Symbol。它们的区别是,前者会被登记在全局环境中供搜索,后者不会。Symbol.for()不会每次调用就返回一个新的 Symbol 类型的值,而是会先检查给定的key是否已经存在,如果不存在才会新建一个值。

    判断数据类型

    • typeof
    • instanceof
    • Object.prototype.toString.call
          //封装
            var gettype=Object.prototype.toString 
            var utility={ 
             isObj:function(o){ 
               return gettype.call(o)=="[object Object]"; 
              }, 
              isArray:function(o){ 
                return gettype.call(o)=="[object Array]"; 
              }, 
              isNULL:function(o){ 
                return gettype.call(o)=="[object Null]"; 
              }, 
              isDocument:function(o){ 
                return gettype.call(o)=="[object Document]"|| '[object HTMLDocument]'; 
              } 
            }
    
    • 判断NaN
      NaN是一个特殊的Number类型的值,表示不是数字。当你需要判断NaN时,会有如下
    NaN==NaN//false
    NaN==Number//false
    Number==typeof(NaN)//false
    

    es6的Number类型有个Number.isNaN()方法可以判断

    Number.isNaN(NaN)//true
    

    常用数据类型转换

    字符串转数字
    • parseInt()
    • parseFloat()
    • Number()
    字符串转数组
    • 解构赋值
    [...'hello'] //["h", "e", "l", "l", "o"]
    
    • split()
    let a="aaaabbb"
    let b=a.split("") //["a", "a", "a", "a", "b", "b", "b"]
    
    • Array.of()
    Array.of(3, 11, 8) // [3,11,8]
    
    数组转字符串
    • toString()
    • join()
      两种方法均会使字符串中间以分割号,隔开,如果需要其他分隔号分隔开则可以利用join("")中的双引号之间的字符表示,空格也可!
      因此,我们引伸出一个问题:如何去掉字符串中的分隔号
    1. 利用replace正则表达式替换
    let a="aaaabbb"
    let b=[...a]
    let c=b.join()//a,a,a,a,b,b,b
    c.replace(/,/g,'')//利用/,/g取得所有的,并取代
    

    相关文章

      网友评论

        本文标题:JS数据类型

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