美文网首页
01.ECMAScript常用新语法介绍

01.ECMAScript常用新语法介绍

作者: 蓝Renly | 来源:发表于2018-10-02 14:03 被阅读0次

    ES6(ECMAScript 6)

    一些常用新语法说明

    1.定义常量 Variable

    1.1 const:定义常量,定义后值不可再修改

    const a = 100;
    a = 200 ;//会报错
    

    1.2 let:定义常量

    let b = 100;
    b = 10086 ;
    console.log(b);//10086
    

    1.3 var:定义常量

    ​ 尽量少用,存在许多问题;比如:作用域的范围让人困惑!

    var num = 20;
    var num = 20086;
    console.log(num);//20086 -->这就是存在许多的坑了
    for (var i = 0;i<10;i++){
        console.log(i);
    }
    //var定义的作用域让人困惑
    console.log("测试上面对的i是否可用用"+i);
    
    2.解构

    2.1 数组的解构

    let arr = [1,2,'lan','ddq'];
    let[a,b,name,vname] = arr;
    console.log(a);
    console.log(a,b);
    console.log(a,b,name,vname);
    

    2.2 对象的解构

    let person = {
        name : '咚咚锵'
        address : '东北'
        age : 16
    }
    //正常方式取出person对象的属性
    console.log(person.name,person.address);
    //通过解构的方式--->属性名字要一样
    let{name,address,age} = person
    console.log(name,address,age);
    

    2.3 含数参数的解构

    function printPerson({name,address,age}){
    
       console.log(name , address);
    
    }
    
    printPerson(person);
    
    
    3.扩展函数

    3.1 函数的参数默认值

    function fo(name,age = 18){
        console.log(name,age)
    }
    fo('咚咚锵');//咚咚锵 18
    fo('齐德龙',12);//齐德龙 12
    

    3.2 自执行函数

    (function sum(x,y){
      console.log('执行了自执行函数 ')  
    })();
    

    3.3 箭头函数

    function sum(x,y){
        return x + y;
    }
    let sum1 = (x,y) => {
        return x + y;
    }
    //如果函数内只有一行代码,那么可以省略大括号
    let sum2 = (x,y) => x + y;
    console.log(sum1(1,2))
    console.log(sum2(2,2))
    
    //箭头函数自执行 : 可读性差不建议使用
    console.log(((x,y)=x+y)(100,1);//101
    
    4.类继承

    ​ constructor,super(),类似java类;

    //Class继承
    class Person {
        constructor(name,age){
            this.name = name
            this.age = age
        }
        sayHello(){
            console.log(`name:${this.name}`) // raw string 原生字符串
        }
    }
    let person = new Person('王德发',22);
    person.sayHello();
    
    //子类继承
    class Man extends Person{
        constructor(name,age){
            super(name,age)
        }
    
    }
    
    let man = new Man("齐德龙",16);
    man.sayHello();
    console.log(man.name);
    console.log(man.age);
    
    5.Node的异步IO机制
    let a = 100;
    let fs = require("fs");
    console.log(a)
    let data = "大河向东流,齐德龙东强嘚呛";
    
    //耗时操作:文件读写/网络请求/数据库读写操作都是耗时操作
    //异步IO请求,当遇到耗时操作时,把它交给底层V8,
    fs.writeFile("./a.txt",data,function () {
        console.log('200')
    });
    let data1 = "床前明月光,疑是地上霜";
    fs.writeFile("./b.txt",data,function () {
       console.log('400')
    });
    console.log('300');
    
    //执行顺序是: 100 300 200 400 
    

    相关文章

      网友评论

          本文标题:01.ECMAScript常用新语法介绍

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