本文根据 Devhints / JavaScript lazy shortcuts 翻译。代码示例及版本范围沿用原文。
快捷键
示例
n = +'4096' // n === 4096
s = '' + 200 // s === '200'
now = +new Date()
isPublished = !!post.publishedAt
快捷键
| 内容 | 惰性模式 (Lazy mode) | “正确做法” |
|---|---|---|
| 字符串转数字 | +str | parseInt(str, 10) 或 parseFloat() |
| 向下取整 (Math.floor) | num | 0 | Math.floor(num) |
| 数字转字符串 | '' + num | num.toString() |
| 日期转 UNIX 时间戳 | +new Date() | new Date().getTime() |
| 任意类型转布尔值 | !!value | Boolean(value) |
| 检查数组内容 | if (~arr.indexOf(v)) | if (arr.includes(v)) |
.includes 仅适用于 ES6-,否则请使用 .indexOf(val) !== -1 (如果您不使用 polyfill 的话)。