clamp
"Dude, suckin' at something is the first step to being sorta good at something." —Jake, "Adventure Time"
本文为 《lodash 源码阅读》 系列文章,后续内容会在 github 中发布,欢迎 star,gitbook 同步更新。
源码
原理
这部分代码不复杂,首先对三个参数做了 Number
化,后通过对比值大小,返回限制在区域间的值。
这里有两个注意的点:
方法直接使用
+value
转化参数,如果传入的是Symbol
类值,会导致方法报错,因此我提了个 ISSUE,理由是为了精简代码,减少依赖,类型问题交给 TypeScript 这样的工具来处理~value === +value
,这种写法是为了屏蔽掉NaN
的情况:
Last updated
Was this helpful?