lodash源码分析之baseToNumber

78 阅读1分钟

本文为lodash源码分析的第10篇,后续会持续更新这个专题,欢迎指正。

依赖

import isSymbol from '../isSymbol.js'

源码分析

baseToNumber函数的作用是将参数value转换成Number类型的值。


const NAN = 0 / 0

function baseToNumber(value) {
  if (typeof value === 'number') {
    return value
  }
  if (isSymbol(value)) {
    return NAN
  }
  return +value
}

前提: 定义常量NAN,通过0 / 0获取NaN值。

首先,判断value是否为number类型,是则直接返回value值。

接着,判断value是否为Symbol类型,是则返回NAN

最后,使用一元加运算符把value转换为数字返回。