小编今天继续和大家一起探索es10中的新特性,针对第一个toString方法的修订,可以通过下面这个例子来熟悉。大家还可以关注我的微信公众号,蜗牛全栈。
function foo(){
// 这是一段注释
console.log("lilei")
}
console.log(foo.toString())
// function foo(){
// // 这是一段注释
// console.log("lilei")
// }
今天的第二个特性,通过名称看着可能挺唬人,所谓的Catch Binding在try...catch语法中,如果不关注错误信息的时候,可以省略catch后面的括号和括号内的参数(通常为e)。之前js写异常处理的时候,我们需要写成这样
// 验证是否为标准格式json
const valid = json => {
try{
JSON.parse(json)
}catch(e){
console.log(e)
}
}
const json = '{"name":"lilei","course":es"}'
valid(json) // SyntaxError: Unexpected token e in JSON at position 25
实际在上面的函数中,我们并不关心错误信息,我们更关心的是返回的结果,如果是标准的json格式,返回true,否则返回false,这样就 可以满足我们的需求,有了es10,我们就可以把函数写成这样
const valid = json => {
try{
JSON.parse(json)
return true
}catch{
return false
}
}
const json = '{"name":"lilei","course":es"}'
console.log(valid(json)) // false