一.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就是其中之一。
四.总结
- try catch使用于所有请求但它书写的代码太丑,而且性能也不好,Traceur 团队已经要求 Chrome 对 try/catch 的性能进行改进。
- 函数表达式不适用于所有场景,需谨慎使用。
- let 适用于所有场景,且转化为低版本场景不需要担心代码的转化,许多库已经帮我们解决了。
文章讨论了在ES6中使用let声明变量实现块级作用域,以及通过trycatch处理错误的方式。虽然trycatch在错误处理中起作用,但其代码可读性和性能可能不佳。函数表达式在某些情况下有局限性,主要因为this、return、break和continue的变化。ES6引入的let被推崇,因为它在各种场景下适用,且转换到ES3环境的工具如Babel能帮助解决兼容问题。
1418

被折叠的 条评论
为什么被折叠?



