对象的 key 原来可以使用变量

本文通过一个实例展示了在JavaScript中,对象的key可以使用变量来表示,从而避免数字直接作为key带来的不直观和易出错的问题。作者在重构过程中遇到的一个线上bug启发了这个发现,详细解释了如何正确使用变量作为对象key的方法,使得代码更易读且能充分利用常量定义。
摘要由CSDN通过智能技术生成

以前因为一次重构,产生了一个线上 bug,对这次 bug 我一直没有忘记。后来有位同事和我说对象的 key 不能是变量,直到今天无意中发现对象的 key 其实是可以为变量的。

我来举个实际的场景吧。

比如有 3 个 VIP 会员,每一种会员有与之对应的一个会员 id,10 表示年会员,11 表示 3 个月会员,12 表示 6 个月会员。由于代码中多处使用到了会员 id,如果在代码使用数字做不同会员的业务处理,这样做有几个弊端:

1、数字不太直观,比如看到 10 你不会立马想到是年会员的 id,如果使用变量名 yearVipId 可直接知道是年会员 id;

2、一旦会员 id 修改后,很多业务逻辑多需要查看,确保万无一失。

假如我们定义了以下常量,代码中凡是涉及到会员 ID 的时候都使用变量名来表示:

// 年会员
const YEAR_VIP_ID = 10;
// 3 个月会员
const THREE_MONTH_VIP_ID = 11;
// 6 个月会员
const SIX_MONTH_VIP_ID = 12;

有一个业务需求需要根据不同的商品 ID,给用户提示不同的描述信息,为了避免写太

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值