首页 > 技术文章 > ES10toString()方法修订和Catch Binding

feiying3995 2021-07-25 21:40 原文

小编今天继续和大家一起探索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

 

推荐阅读