ES6 这种情况下用 const 声明常量符合规范吗?

let state = 2; //假设 state 是随时可变的
const num = state + 1;

一旦 state 发生改变,num 也跟着变化不会变化,那么用 const 来声明 num 符合规范吗?

只是 state 会随时发生变化,但是我并没有强制的改变 num ,比如我并没有num = 2 类似这样的强制改变num

阅读 3.3k
5 个回答

这里跟let/const/var都没关的啦;
JS从上到下运行,num的值在初始化的时候就赋值啦,所以后边不管state如果变化,num的值都是初始化时所赋值的值。

补充:

const本来是用来声明常量的,所以如果其值有可能会变化的话,就用let声明吧

不符合规范,const 就是用来定义常量,建议换用 let

state 发生变化,num 不会变。

这个题目的前提就是错误的,你可以先自己试一下再来提问题。

num 值不会跟着变化。这里 state 是按值传递的。

为什么要这样定义?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题