纠结 JS 变量用 let 还是 const 定义

2018-12-19 19:40:38 +08:00
 mytry

理论上说能用 const 的地方尽量用 const 当然是最好的,但发现用了 const 之后有些地方没之前优雅了。比如某个程序有很多这样的代码:

let a = ...
if (a > 0) {
  ...
}

本来两个 a 都是工整对齐的,换成 const 变成:

const a = ...
if (a > 0) {
  ...
}

感觉没以前美观了😂

还有本来一堆变量都是 let 定义的,现在有些是 let 有些是 const 定义:

const num = arr.length;
let i = 0;

const map = {};
...

看起来也没有统一用 let 那么整齐了。。。而且有些 let 的初始值依赖 const 的值,也没法分开归类定义。。。强迫症患者表示好纠结这个问题~

9275 次点击
所在节点    程序员
99 条回复
fundebug
2018-12-20 09:43:36 +08:00
@ChefIsAwesome 用 const 至少可以提醒同事不要乱改变量,提高可读性。
JackyCDK
2018-12-20 09:43:45 +08:00
const 定义常量
let 定义变量
不是 ES6 基础吗....
tairan2006
2018-12-20 09:46:04 +08:00
楼主脑子里面在想什么。。。感觉难以理解
SuAlien
2018-12-20 09:48:44 +08:00
楼主,额额额额额额,你有洁癖么?
UnderTaker666
2018-12-20 09:49:49 +08:00
楼主是个萌新吗,我还是新手的时候也是纠结“代码整洁”
flyingghost
2018-12-20 09:59:39 +08:00
不要纠结用什么关键字了。以后代码这么写,肯定工整对齐美观优雅。/手动狗头

<table>
<tr>
<td>const</td><td colspan=2> a = 1</td>
</tr>
<tr>
<td>if</td><td>(a>0)</td><td>{</td>
</tr>
<tr>
<td colspan=3>}</td>
</tr>
<table>
lwlipuyang
2018-12-20 10:00:54 +08:00
你可能是个傻子...
besto
2018-12-20 10:05:59 +08:00
@Nasei 现在依然有, 并不是个坏习惯. 驱动里往往几十行一起赋值
YYYeung
2018-12-20 10:08:11 +08:00
能用 const 的地方用了 let, eslint 会骂人的。。。
frankkai
2018-12-20 10:27:06 +08:00
"本来两个 a 都是工整对齐的"
"感觉没以前美观了"
"看起来也没有统一用 let 那么整齐了。。。"

笑出声,let 和 const 的设计初衷,就是为了让你的 js 代码“美观”“整齐”的?

还是补补 let 和 const 的区别吧
pkoukk
2018-12-20 10:27:33 +08:00
让我想起了前公司以前有过的不成文的奇葩规定:所有函数中需要用的变量,都在函数开头统一声明,哪怕是临时变量。
目的就是为了工整。我内心只有一句 MDZZ
supuwoerc
2018-12-20 10:29:12 +08:00
代码优雅不是风格骚气吗 哪是工整啊
usedname
2018-12-20 10:46:12 +08:00
请问楼主是闲的每天写 example 吗?
kingwl
2018-12-20 10:55:55 +08:00
铜币拿好
qq1009479218
2018-12-20 11:31:28 +08:00
所有变量全用 const,用 fp 写 immutable 代码,那可就特别优雅了
Sapp
2018-12-20 11:33:16 +08:00
你可以不定义,这样不是更整洁? 仿佛在逗我
Sapp
2018-12-20 11:33:50 +08:00
还有就是 let 最好是一个不用
rizon
2018-12-20 11:36:57 +08:00
我没有试过,但是制表符应该可以对齐的把。。。制表符不就是解决这种对齐问题的吗。。。
chengxiao
2018-12-20 11:44:23 +08:00
@mytry const 做 for 循环因子有什么不对的么? 我貌似经常这么干
nino
2018-12-20 11:49:44 +08:00
优先用 const,真的需要再赋值的才改 let

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/519096

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX