块作用域的替代方案

文章讨论了在ES6中使用let声明变量实现块级作用域,以及通过trycatch处理错误的方式。虽然trycatch在错误处理中起作用,但其代码可读性和性能可能不佳。函数表达式在某些情况下有局限性,主要因为this、return、break和continue的变化。ES6引入的let被推崇,因为它在各种场景下适用,且转换到ES3环境的工具如Babel能帮助解决兼容问题。
摘要由CSDN通过智能技术生成

一.try catch

在es6中我们可以使用let来声明变量,来创建块级作用域,而在es3中我们可以通过try catch这个语句来实现。

try{

}catch(e){}

语法如上,在try里面去写一些代码,在发生错误时通过throw来抛出错误,比如你在try里面发送了一个请求,在请求失败或是异常的时候抛出了一个错误,让catch来处理,它会接收你抛出错误的内容,比如说你抛出一个2,它就会接收一个2。

二.函数表达式

某些时候你将代码中的一部分抽离出来书写一个函数表达式,将它们包裹在其中,但要注意其中的 this、return、break 和 contine都会发生变化,所以这并不是一个都适用的方案。

三.let

最推崇的自然是es6中的let,既不用书写try catch那样丑陋的代码,也适用于一切,当你想要将使用let的代码转化为es3这样的环境,很多打包工具都有这样的功能,babel就是其中之一。

四.总结

  1. try catch使用于所有请求但它书写的代码太丑,而且性能也不好,Traceur 团队已经要求 Chrome 对 try/catch 的性能进行改进。
  2. 函数表达式不适用于所有场景,需谨慎使用。
  3. let 适用于所有场景,且转化为低版本场景不需要担心代码的转化,许多库已经帮我们解决了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值