zoukankan      html  css  js  c++  java
  • Python 27 ES6常用语法

    1、变量定义

    (1)let

    在ES5中,通过var定义的变量,会在一加载js文件时就声明变量,到那一行时给变量赋值,这样在var之前打印这个变量就是undefined,不会报错,称之为变量提升。

    在ES6中提供了新的变量定义方式let,通过let定义的变量不会出现这种情况,会直接报错。

    另外,var只有全局作用域和函数作用域,let还有块级作用域。var可以重复定义,let不能重复定义。

    总结区别:变量提升、块级作用域、重复定义

    (2)const

    const有let的所有特点:没有变量提升、有块级作用域、不能重复定义,同时是一个常量,不能修改,且定义的时候必须赋值

    2、模板字符串

    用反引号进行字符串的拼接,用${ }来存储变量。

    let username = "yin";
    
    let odiv = document.getElementById("odiv");
    odiv.innerHTML = `
            <h1>hello ${username}</h1>
            <h2>hello you</h2>
    `

    3、数据的解构赋值

    // 将数组中的值分别赋值给abc
    let ary = [1, 2, 3];
    let [a, b, c] = ary;
    
    // 将对象中的值分别赋值
    let obj = {
        username: "yin",
        age: 21
    };
    let {username, age} = obj;  // 实际上相当于:{username: username, age: age}

    4、函数的扩展

    (1)箭头函数

    箭头函数的this指的是定义时的作用域

    // 一个参数
    let func = x => x;
    func(10);
    
    // 多个参数
    let func = (x, y) => {return x+y};
    func(1, 2);

    (2)单体函数

    https://www.cnblogs.com/yanze/p/7645347.html

    单体函数就是省略了function:的函数

    单体函数的this指的是调用它的对象。

    5、类

    类必须定义construct构造方法,通过new来实例化

    class Person {
        constructor(name, age, account=1000){
            this.name = name;
            this.age = age;
            this.account = account;
        }
        showInfo(){
            console.log(this.name);
        }  
    }
    let wang = new Person("wang", 22);
    wang.showInfo();

    继承必须写上super( )

    class Son {
        constructor(name, age){
            super();
            this.name = name;
            this.age = age;
        }
    }
    let he = new Son("he", 21);
    Son.showInfo();
  • 相关阅读:
    23 数字时钟&长图滚动
    22 日期特效&长图滚动
    彻底澄清c/c++指针概念
    已管理员模式运行批处理路径丢失问题的解决方法
    使用mathjax在博客中完美显示数学公式,支持PC,手机浏览器
    GOOGLE高级搜索技巧
    我要搬家
    简单的3proxy配置
    AutoMapper小结
    专业IT培训机构-传智播客
  • 原文地址:https://www.cnblogs.com/yinwenjie/p/11280534.html
Copyright © 2011-2022 走看看