ES6扩展

模板字符串和标签模板

const getCourseList = function() {
        // ajax
        return {
            status: true,
            msg: '获取成功',
            data: [{
                id: 1,
                title: 'Vue 入门',
                date: 'xxxx-01-09'
            }, {
                id: 2,
                title: 'ES6 入门',
                date: 'xxxx-01-10'
            }, {
                id: 3,
                title: 'React入门',
                date: 'xxxx-01-11'
            }]
        }
    };

    const { data: listData, status, msg } = getCourseList();

    function foo(val) {
        return val.replace('xxxx', '2020');
    }

    if (status) {
        let arr = [];

        listData.forEach(function({ date, title }) {

            arr.push(
                `
                    <li>
                        <span>${ `课程名: ${ title }` }</span>
                        <span>${ foo(date) }</span>
                    </li>
                `
            );

        });

        let ul = document.createElement('ul');
        ul.innerHTML = arr.join('');

        document.body.appendChild(ul);

    } else {
        alert(msg);
    }

padStart padEnd

    {
        let str = 'i';
        // 插入在5的位置
        let str1 = str.padStart(5, 'mooc');
        console.log(str1);
        // 倒序插入在5的位置
        let str2 = str.padEnd(5, 'mooc');
        console.log(str2);
    }

repeat

    {
        function repeat(str, num) {
            return new Array(num + 1).join(str);
        }
        console.log(repeat('s', 3));
    }

startsWith endsWith

    {
        const str = 'A promise is a promsie';

        console.log(str.startsWith('B'));
        console.log(str.startsWith('A pro'));

        console.log(str.endsWith('promsie'));
        console.log(str.endsWith('A'));
    }

includes

    {
        const str = 'A promise is a promise';
        if (~str.indexOf('promise')) {
            console.log('存在"promise"');
        }

        if (str.includes('a promise')) {
            console.log('存在"a promise"');
        }
    }

字符串转数组+遍历

    let str = 'PROMISE';
    // 四种方法:转成数组后遍历
    var oStr = Array.prototype.slice.call(str);
    var oStr = str.split('');
    const oStr = [...str];
    const [...oStr] = str;
    console.log(oStr);
    //单个字符输出
    oStr.forEach(function(word) {
        console.log(word);
    });

对全是英文的字符串中的大写字符加密 A -> 100  B -> 99

    const map = {A: '100', B: '99', C: '98', D: '97', E: '96', F: '95', G: '94', H: '93', I: '92', J: '91', K: '90', L: '89', M: '88', N: '87', O: '86', P: '85', Q: '84', R: '83', S: '82', T: '81', U: '80', V: '79',W: '78',X: '77',Y: '76', Z: '75'};
    const words = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

    oStr.forEach(function(word, index) {
        if (words.includes(word)) oStr[index] = map[word];
    });
    console.log(oStr.join(''));

使用for-of遍历字符串

    let str = 'PROMISE';
    let newStr = '';
    const map = {A: '100', B: '99', C: '98', D: '97', E: '96', F: '95', G: '94', H: '93', I: '92', J: '91', K: '90', L: '89', M: '88', N: '87', O: '86', P: '85', Q: '84', R: '83', S: '82', T: '81', U: '80', V: '79',W: '78',X: '77',Y: '76', Z: '75'};
    for (let word of str) {
        if (str.includes(word)) newStr += map[word];
    }
    console.log(newStr);

Unicode是一项标准,包括字符集、编码方案等
解决传统的字符编码方案的局限

原文地址:https://www.cnblogs.com/alannever/p/13511447.html