欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ES6常用的新特性

程序员文章站 2022-12-21 09:52:15
1、Let&const 2、解构表达式 3、箭头函数 4、解构表达式+箭头函数 5、Promise对象 6、模块化 html文件(module.html): 模块1(module1.js): 模块2(module2.js): 最后将模块1打包成bundle.js文件即可运行html文件。 ......

1、let&const

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>es-let&const</title>
</head>
<body>
<script type="text/javascript">
    /* var定义的变量在代码块外面还可以使用 */
    for(var i=0;i<10;i++){
        console.debug(i);

    }
    console.debug("块外i:"+i);
    /* let定义的变量作用域为代码块之内 */
    for(let j=0;j<10;j++){
        console.debug(j);
    }
    //console.debug("块外j:"+j);
    /* const定义的是常量,不能被改变且作用域为代码块之内 */
    {
        const k=23;
        //k=34;
        console.debug(k);
    }
    //console.debug("块外j:"+k);
</script>

</body>
</html>

 

2、解构表达式

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>解构表达式</title>
</head>
<body>

    <script type="text/javascript">
        /* 数组的解构:位置要对应 */
        const arr=["我",4,"不吹牛的",true];
        const [a,b,c,d]=arr;
        console.debug("a:",a);
        console.debug("b:",b);
        console.debug("c:",c);
        console.debug("d:",d);

        /* 对象的解构:属性名必须对应 */
        let user={
            name:"小明",
            age:10,
            hobby:"吃糖"

        }
        const {name,hobby}=user;
        const {sex}=user;
        console.debug(name+hobby);
        console.debug("sex:"+sex);
    </script>
</body>
</html>

 

3、箭头函数

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>箭头函数</title>
</head>
<body>
    <script type="text/javascript">
        /* 传统写法*/
        let le=function (food) {
            console.debug("不能浪费"+food);
        }
        le("食物")
        /* 箭头函数:只有一个参数可以不写括号*/
        let me= food =>{
            console.debug("浪迹在"+food);
        }
        me("天上")

        setinterval(()=>{
            console.debug("流浪");
        },1000)
    </script>

</body>
</html>

 

4、解构表达式+箭头函数

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>解构+箭头函数</title>
</head>
<body>
    <script type="text/javascript">
        let haha=({name,sex})=>{
            console.debug(name+"是"+sex+"人");
        }
        let user={
            name:"小明",
            sex:"男"
        }
        haha(user)
    </script>

</body>
</html>

 

5、promise对象

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>promise对象</title>
</head>
<body>
    <script type="text/javascript">
        /*随机一个数,如果这个数大于0.5就为真,小于等于就为假*/
        const promise=new promise((resolve ,reject)=>{
            settimeout(()=>{
                let value= math.random();
                if(value>0.5){
                    resolve(value);
                }else {
                    reject(value);
                }
            },1000)
        })

        promise.then(res=>{
            console.debug(res+",真")
        }).catch(res=>{
            console.debug(res+",假")
        })

    </script>

</body>
</html>

 

 

6、模块化

  html文件(module.html)

 

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>模块化</title>
    <!-- bundle.js文件是将模块module1.js打包得到的 -->
    <script type="text/javascript" src="dist/bundle.js"></script>
</head>
<body>

</body>
</html>

 

  

  模块1(module1.js):

import {name,study} from "./module2"
study();
document.write(name)

  

  模块2(module2.js):

export var name="小明";
export var study=function () {
    console.debug("出去玩啦")
}

  

  最后将模块1打包成bundle.js文件即可运行html文件。

ES6常用的新特性