首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >常量尝试用ES6捕捉?

常量尝试用ES6捕捉?
EN

Stack Overflow用户
提问于 2015-09-29 19:28:52
回答 1查看 1K关注 0票数 2

我一直在尝试使用const,但我经常发现自己处于不得不使用let的境地。

例如:

代码语言:javascript
复制
let value

try {
  value = couldFail()
} catch(e) {
  value = etc()
}

doSomethingWith(value)

有没有一种通用的方法来重组这些东西?

-编辑--

我有一个想法:

代码语言:javascript
复制
const tryCatch = (a, b) => {
  try { return a() }
  catch(e) { return b(e) }
}

const value = tryCatch(couldFail, etc)

这会带来什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-09-29 19:33:39

不能使用const,因为可以先在try子句中赋值,然后在catch子句中赋值。如果您绝对希望变量是常量,则可以创建一个在try和catch子句中赋值的临时变量,然后添加一个finally子句,在该子句中将临时变量赋给常量变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32842732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档