【大禹治水】数据容器

99 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

变量

变量是储存数据的容器,下面代码的意思是,var声明一个data的变量名,并将字面量1赋值到该变量。通过console.log打印出data为1(console.log用来打印到控制台的方法)

var data = 1
console.log(data) // 1

当然我们可以对变量进行后续修改,通过console.log打印出data为2

data = 2
console.log(data) // 2

常量

不变的数据是否还需要定义成变量呢?毕竟变量的字面意思就是告诉我们是一个会变得东西。下面是用字面量的方式打印了天数

// 毫秒为单位,计算一天时间
console.log(1000 * 60 * 60 * 24) // 86400000

如果只是用一次其实没啥毛病,但是一些业务场景,这些数据会重复用到,为了方便管理我们需要对字面量进行常量定义

var SECOND = 1000
var MINUTE = SECOND * 60
var HOUR = SECOND * 60
var DAY = HOUR * 24

用大写是一种约定俗成的方式,告诉别人这是一个常量,不要轻易修改。上面分别定义了天、时、分、秒常量,除了方便复用,还有一个好处是消除字面量带来的疑惑,起到了更好的维护,代码是会腐烂的,时间和人员都会带来腐烂,我们通过命名化这些字面量,对后续迭代作用尤为明显。

es6

虽然我们可以通过大写进行约定俗成的方式告知大家不要修改这个变量,但是重要的问题是,它本身就是能改。es6出了一个const的声明方式替代var

const SECOND = 1000
const MINUTE = SECOND * 60
const HOUR = SECOND * 60
const DAY = HOUR * 24

当我们试图修改const定义的变量,就会报错

配置化

一些抽象出来的工具库,通常都会需要一些配置数据,而配置数据大多是通过常量组成,涉及到逻辑部分,通过是命令行之类的参数行为,诸如环境变量这些