JavaScript 此间道理汝明了之?

前言

解了语法拿来就用?搜到了例子照搬不误?NoNoNo!作为21世纪的前端新势力应该树立“书写合格且优雅的规范代码”之最佳典范,高举“大前端是未来趋势”之伟大旗帜,秉持“JavaScript 是世界上最好的语言”之行业思想……以下关于 JavaScript 中各语法在各业务情境中的使用都是博主一坑一坑踩过来的🥺,一为记录,二为分享,愿我们下(qiāo)笔(xià)写(jiàn)出(pán)的都是极具可读性、可扩展性和良好健壮性的高质量代码。

🍽食用方法:正文中的三级标题为用法的简要,🤔后是该用法的原理及相关思考,🔗为推荐阅读的相关链接。

干货

创建空对象的正确方式—Object.create(null)

  • 🤔:JavaScript 编程中的最佳实践,Object.create(null)创建的对象不会继承 Object 原型的toString()hasOwnProperty()等方法,真正的空对象,干净而优雅🤤~而使用{}则反之。

  • 🔗:

    1. 详解 Object.create(null) | 掘金

慎用delete来删除对象的属性

最优雅地实现数组去重并排序

arr = [...new Set(arr)].sort((a, b) => a - b);

利用短路语法替代简单的条件语句

if (zander === 'developer') {
  console.log('He is cool!');
}
// ⬇️
zander === 'developer' && console.log('He is cool!');
const length = (zander || []).length;
  • 🧐:&&运算保证第一个参数为 true 时才会执行后面的代码,||运算保证第一个参数为 false 时才会执行后面的代码。短路运算的效率略高于if条件语句,但只适用于简单的if..do...语句优化,如参数验证、设置默认值等。

  • 🔗:

    1. 逻辑运算符 | MDN

高效地格式化数字

const toDecimalMark = num => num.toLocaleString('en-US');

toDecimalMark(19971122.05); // '19,971,122.05'
  • 🧐:这是一个格式化数字函数,可将数字高效地转换为逗号分隔的数字字符串,而不用写一堆正则去处理。toLocaleString() 是 ECMAScript 中的标准方法,用于返回特定语言环境下格式化后的字符串。

  • 🔗:

    1. Number.prototype.toLocaleString() | MDN
updatedupdated2020-03-162020-03-16
add new method
加载评论