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(
                `
                    
  • ${ `课程名: ${ title }` } ${ foo(date) }
  • ` ); }); 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是一项标准,包括字符集、编码方案等
    解决传统的字符编码方案的局限

    你可能感兴趣的:(ES6扩展)