美文网首页
typeof 、不同类型值相加

typeof 、不同类型值相加

作者: 茅己硍 | 来源:发表于2022-11-20 10:40 被阅读0次

typeof

下表总结了 typeof 可能的返回值

一、number类型  

typeof Math.LN2 === 'number';

typeof Infinity === 'number';

typeof NaN === 'number';       // 尽管它是 "Not-A-Number" (非数值) 的缩写

typeof Number(1) === 'number';   // Number 会尝试把参数解析成数值


二、string类型  

typeof  `template literal` === 'string';

typeof  '1' === 'string';                  // 注意内容为数字的字符串仍是字符串

typeof  (typeof 1) === 'string';      // typeof 总是返回一个字符串

typeof String(1) === 'string';        // String 将任意值转换为字符串,比 toString 更安全


三、boolean类型

typeof Boolean(1) === 'boolean';    // Boolean() 会基于参数是真值还是虚值进行转换

typeof !!(1) === 'boolean';              // 两次调用 !(逻辑非)运算符相当于 Boolean()


四、Symbol类型

typeof Symbol() === 'symbol';

typeof Symbol('foo') === 'symbol';

typeof Symbol.iterator === 'symbol';


五、undefined类型

 typeof undefined === 'undefined';


六、object类型

// 使用 Array.isArray 或者 Object.prototype.toString.call  区分数组和普通对象

typeof [1, 2, 4] === 'object';

typeof new Date() === 'object';

typeof /regex/ === 'object';

// 下面的例子令人迷惑,非常危险,没有用处。避免使用它们。 

//注意与上面布尔值类型的对比。typeof Number(1) === 'number'

typeof new Boolean(true) === 'object';

typeof new Number(1) === 'object'; 

typeof new String('abc') === 'object';


七、函数类型

typeof function() {} === 'function';

typeof class C {} === 'function'; //类也是函数类型

typeof Math.sin === 'function';


八、null类型

// JavaScript 诞生以来便如此

typeof null === 'object' 


不同类型值相加

隐式转换规则

转成 string 类型: +(字符串连接符)

转成 number 类型:++ --(自增自减运算符)+ - * / % **(算术运算符)> < >= <= == !=(关系运算符)

转成 boolean 类型:! !!(逻辑非运算符)

注意: + 既是连接符,也是运算符。

1. 当 + 两边都有值,且至少一个值是字符串类型,就会出现字符串拼接。

2. 当只有 + 后面有值,例如:+"123"等同于Number("123"),会将字符串转换为数字123

相关文章

  • typeof 、不同类型值相加

    typeof 下表总结了typeof可能的返回值 一、number类型 typeof Math.LN2 === '...

  • JavaScript(三)数据类型的判断

    一、typeof() typeof() 用于区分不同类型的原始值,并区分原始值和对象,但是在区分不同类型的对象(包...

  • 前端之路——JS中的typeof

    typeof的作用 typeof的作用是用来确定值的类型,返回值的类型为字符串。对于不同类型的值,返回值如下: 需...

  • JavaScript基础总结

    值类型和引用类型 可以使用typeof来进行判断,typeof可以判断出所有的值类型 typeof还能判断出函数类...

  • 你不知道的javascript(中卷)

    javascript中变量没有类型,值有类型。 typeof 的怪异之处:typeof null === 'obj...

  • js五种空值的类型和判断为false的类型

    js五种空值的类型: typeof(undefined) == 'undefined' typeof(null) ...

  • JS

    变量类型 1、typeof能判断哪些类型?作用:识别所有的值类型,能识别函数,能判断是否引用类型--typeof ...

  • js基础篇

    typeof 操作符typeof操作符可能返回以下的值undefined 值未定义boolean 值为布尔类型...

  • 对象

    1.对象分为值类型和引用类型 值类型(不是对象) 引用类型(都是对象) 类型的判断值类型判断用typeof引用类型...

  • typeof与instanceof

    typeof typeof是判断变量类型,它的返回值值为字符串,分别有6个值:number,boolean,str...

网友评论

      本文标题:typeof 、不同类型值相加

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