美文网首页
【学习笔记】ES2018 (ES9)新增的东西

【学习笔记】ES2018 (ES9)新增的东西

作者: Spidd | 来源:发表于2019-07-15 10:37 被阅读0次
    /*----------ES2018  (ES9)新增的东西-----------*/
    /*
    * 【语法】
    * * --------  命名捕获  -------------
    * (?<命名>)
    * let reg = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
    * * --------  反向引用命名捕获  -------------
    * \k<命名>
    * let reg = /^(?<Strive>welcome)-\k<Strive>-\1$/;
    * * --------  替换  -------------
    * str = str.replace(reg,'$<year>/$<month>/$<day>')
    *
    * 【方法】
    * */
    {
        let reg = /^(?<Strive>welcome)-\k<Strive>$/;
        let str = 'a-a';
        let str1 = 'Strive-Strive';
        let str2 = 'welcome-welcome';
        let str3 = 'welcome-welcome-welcome';
    
        console.log(reg.test(str)); // false
        console.log(reg.test(str1)); // false
        console.log(reg.test(str2)); //true
        console.log(reg.test(str3)); //true
    }
    
    {
        let reg = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
        let str = '2018-03-20';
    
        str.replace(reg, (...args)=>{
            console.log(...args)
            let {year, month, day} = args[args.length-1];
            console.log(year, month, day)
        })
    }
    
    /*
    * 【语法】
    * * --------  dotAll模式  -------------
    * 之前'.'在正则里表示匹配任意东西,
    * let reg1 = /^\w+.\w+$/s; //dotAll 模式 s
    *
    * 【方法】
    * */
    {
        let reg = /^\w+.\w+$/;
        let reg1 = /^\w+.\w+$/s; //dotAll 模式 s
        let str = 'sdf\nsdf';
        let str1 = 'sdf-sdf';
    
        console.log(reg.test(str)); //false
        console.log(reg1.test(str)); //true
        console.log(reg.test(str1)); //true
    }
    
    /*
    * * --------  标签函数  -------------
    * * 【语法】
    *   function fn(){}
        fn`aaa` // 标签函数的使用
    *
    * 【方法】
    * */
    {
        function fn(a){
            return a   //arg  返回的是arguments数组
        }
        console.log(fn`aaa`) // 标签函数的使用
    }
    
    

    相关文章

      网友评论

          本文标题:【学习笔记】ES2018 (ES9)新增的东西

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