zoukankan      html  css  js  c++  java
  • JS

    判断变量数据类型

    let a = '1'
    a.constructor === String // -> true
    

    判断变量为空

    • 后端不返回数值类型的参数(统一为字符串),前端进行数值计算时通过decimal.js库转换后再进行,同时解决空值判断和浮点运算问题
    • 增加数值0、-0的判断
    let a = -0
    !a === true // undefined、null、NaN、false、''、0、-0 => true
    a === 0 // true
    

    设置对象的自动转换规则

    • 优先使用[Symbol.toPrimitive]方法进行转换,当有该方法时不再调用其它方法。
    • 没有[Symbol.toPrimitive]方法时首先调用valueOf方法,当返回值不是原始类型时再调用toString方法。
    • 两种方式最终返回结果若不是原始类型则会抛错
    let a = {
      [Symbol.toPrimitive]() {
        return 2
      },
      valueOf() {
        return 0
      },
      toString() {
        return '1'
      }
    }
    1 + a // => 3
    
  • 相关阅读:
    看书笔记《python基础》__1
    MQTT
    杂记
    类型转化
    soc
    时钟同步
    设置地址
    清理日志
    pandas_matplot_seaborn
    Qt_Quick开发实战精解_4
  • 原文地址:https://www.cnblogs.com/qq3279338858/p/12165870.html
Copyright © 2011-2022 走看看