ES10toString()方法修訂和Catch Binding

小編今天繼續和你們一塊兒探索es10中的新特性,針對第一個toString方法的修訂,能夠經過下面這個例子來熟悉。你們還能夠關注個人微信公衆號,蝸牛全棧。json

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
相關文章
相關標籤/搜索