zoukankan      html  css  js  c++  java
  • [Javascript] Highlights from IO18 Javascript new features

    Latest Javascript features, not supported by all broswers, but can use with babel.

    # try-catch-finally, Promise finally:

    async function fetchAndDisplay({url, element}) {
        
        showLoadingSpinner();
        try {
            const response = await fetch(url);
            const text = await response.text();
            element.textContent = text;
        } catch(error) {
             element.textContent = error.message;
        } finally {
            hideLoadingSpinner();
       }
    }
    function getStarsNumber(username, reponame) {
        startLoadingAnimation();
    
        return fetch(`https://api.github.com/repos/${username}/${reponame}`)
            .then(res => res.json())
            .then(data => data.stargazers_count)
            .catch(() => `Couldn't get the stars number`)
            .finally(stopLoadingAnimation);
    }

    # Regex:

    1. Lookbehind:

    // Positive lookbehind:
    const partten = /(?<=$)d+/u; //looking for any number after  $ 
    const res = pattern.exec('$42');
    // res[0] === '42'
    
    // Negative lookbehind:
    const pattern = /(?>!$)d+/u; // looking for any number which is not after $
    const res  = pattern.exec('£42');
    // res[0] === '42'

    2. Lookahead:

    // Positive lookahead:
    const pattern = /d+(?= dollars)/u; // looking for any number before dollars
    const res = pattern.exec('42 dollars');
    // res[0] === '42'
    
    // Negative lookahead:
    const pattern = /d+(?! dollars)/u; // looking for any number which is not before dollars
    const res = pattern.exec('42 rupees');
    // res[0] === '42'

    3. Named group catch:

    const pattern = /(?<year>d{4})-(?<month>d{2})-(?<day>d{2})/u;
    const res = pattern.exec('2018-05-09');;
    
    // res.group.year === '2018'
    // res.group.month === '05'
    // res.group.day === '09'

    4. Find whole words with line break:

    using: 's', pretty much you can add 'us' to all regex.

    # Javascript module:

    <link rel = "modulepreload" href="lib.mjs">  <!-- preload module -->
    <link rel = "modulepreload" href="main.mjs">
    <script type="module" src="main.mjs"></script> <!-- javascript module file-->
    <script nomodule src="fallback.js"></script> <!-- fallback to normal js file -->

    Talk

  • 相关阅读:
    HDU 5640 King's Cake
    HDU 5615 Jam's math problem
    HDU 5610 Baby Ming and Weight lifting
    WHU1604 Play Apple 简单博弈
    HDU 1551 Cable master 二分
    CodeForces659C Tanya and Toys map
    Codeforces 960E 树dp
    gym 101485E 二分匹配
    Codeforces 961E 树状数组,思维
    Codeforces Round #473 (Div. 2) D 数学,贪心 F 线性基,模板
  • 原文地址:https://www.cnblogs.com/Answer1215/p/9069224.html
Copyright © 2011-2022 走看看