美文网首页前端开发那些事儿
ES10toString()方法修订和Catch Binding

ES10toString()方法修订和Catch Binding

作者: 飞鹰3995 | 来源:发表于2021-07-02 08:22 被阅读0次

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

    相关文章

      网友评论

        本文标题:ES10toString()方法修订和Catch Binding

        本文链接:https://www.haomeiwen.com/subject/ivfjultx.html