美文网首页
ES6(二)字符串与正则表达式 2

ES6(二)字符串与正则表达式 2

作者: 蒋小花_4b6c | 来源:发表于2020-04-26 19:38 被阅读0次

    1.flags 获取正则表达式的标志

    2.模板字面量( template literal

    3.多行字符串 ``  

    4.制造替换位 ${}

    5.模板字面量中的原始值

    6.

    flags 获取正则表达式的标志

    提取正则表达式的组成部分.

     es5:

    将正则表达式转化成字符串后提取

    function getFlags(re) {

        const txt = re.toString();

        return txt.substring(txt.lastIndexOf('/') + 1, txt.length);

        // 返回正则字符串,最后一个/后面的内容

    }

    const re = /ab/g;

    console.log(getFlags(re)); // 输出: g

    es6

    直接提取正则表达式的组成部分,更方便

    var re = /ab/g;

    console.log(re.source); // ab

    console.log(re.flags); // g

    Tips:source、glags都是只读属性

    模板字面量( template literal )

    反引号( ` )来包裹普通字符串

    let message = `Hello world!`;

    console.log(message); // Hello world!

    console.log(typeof message);  // string

    console.log(message.length); // 12

    let messageInfo = `${message} Good Day!`

    console.log(messageInfo); // Hello world! Good Day!

    若想在字符串中包含反引号,只需使用反斜杠( \ )转义

    let message = `\`Hello\` world!`;

    console.log(message); // "`Hello` world!"

    console.log(typeof message); // "string"

    console.log(message.length); // 14

    多行(换行)字符串

    es6之前

    var message = "Multiline \n\ string";

    console.log(message);   

    // Multiline

    //  string

    es6 使用模板字符串(模板字面量)

    const txt = `Hello

    world!`;

    console.log(txt);

    // Hello

    // world!

    Tips: 

    反引号之内的所有空白符都是字符串的一部分,因此需要留意缩进.

    let html = `

    <div>

        <h1>Title</h1>

    </div>`.trim();

    Tips:

    trim() 方法,用于删除字符串的头尾空格,不会改变原始字符串.

    制造替换位

    起始: ${ 

    结束: }

    中间:插入变量 等需要嵌入的计算、函 数调用等内容.

    let message = `Hello world!`;

    let messageInfo = `${message} Good Day!`

    console.log(messageInfo );

    let count = 10,

        price = 0.25,

        message = `${count} items cost $${(count * price).toFixed(2)}.`;

    console.log(message);  //  10 items cost $2.50.

    模板字面量中的原始值

    String.raw()

    let message1 = `Multiline\nstring`,

    message2 = String.raw`Multiline\nstring`;

    console.log(message1); // "Multiline

                                            //  string"

    console.log(message2); // "Multiline\\nstring"

    相关文章

      网友评论

          本文标题:ES6(二)字符串与正则表达式 2

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