zoukankan      html  css  js  c++  java
  • ES6的常见语法!!

    let : 声明变量
    不存在变量提前
    拥有局部作用域 (只要有{}出现 则只在该{}范围内生效)
    (而var只在函数内会产生作用域范围)
    不能重复声明

    const : 声明常量(常量名从规范上来将 最好所有字母大写)
    常量从声明之后 不能再二次赋值 (值无法被改变,只读)
    不存在变量提前
    不能重复声明
    拥有局部作用域

    箭头函数:
    let abc = (a,b) => { return a + b }
    let abc1 = (a,b) => a + b
    let abc2 = a => { return a*2 }
    let abc3 = a => a*2
    箭头函数的this指向定义者(或者说时上下文环境)
    不能当做构造函数 (不能实例化)
    箭头函数没有 arguements (或者说指向上下文环境)

    解构赋值
    对象:
    let obj = {
    name : "zhuiszhu",
    age : 18
    }

    let {age,name} = obj //属性名必须一样 但顺序没有要求

    指定默认值:
    let {height=188} = obj

    给个别名
    let {name:nm} = obj

    数组
    let arr = [1,2,3,4]

    let [one,two,four,three] = arr //数组解构 顺序有要求 命名无要求

    默认值:
    let [one,two,four,three,five=5] //给默认值

    解构参数
    let obj = {
    name : ...,
    age : ...
    }

    function sayHello(obj){
    }

    确定形参obj为指定对象时 可对其解构
    function sayHello({name}){
    console.log(name)
    }
    给别名和默认值于解构赋值一样
    注意 在使用箭头函数和解构参数时 必须加上()
    let a = obj => {}
    let b = ({name}) => {}
    以下写法不被允许
    let c = {name} => {}

    形参默认值
    function sayHello(name,age=18){}

    展开符
    let obj = {
    name : "zhuiszhu",
    age : 18
    }

    let newObj = {
    ...obj,
    height : 188
    }

    newObj将拥有所有obj的属性和方法

    类(注意 类名在行业规范类 首字母均大写)
    class Xxxx {}
    类的继承
    class Student extends Man {}

    对象的属性的语法糖(简写)
    let name = "abc"

    let obj = {name:name} ===> let obj = {name}

    let obj1 = {
    sayHello : function(){

    }
    }

    ===>

    let obj1 = {
    sayHello(){//该种简写方式代表当前函数为普通函数 this依旧和function的this指向相同 并不是箭头函数的上下文环境

    }
    }


    字符串模板
    let name = "zhuiszhu"

    let text = "hello " + name + "!"

    let text1 = `hello ${name}!`


    typescript语法(非es6语法)
    接口(接口名也最好首字母大写)
    interface Yyyy{
    name //定义实现该接口的类所必须拥有的属性名
    int() //定义实现该结构的类所必须拥有的方法名
    }

    定义一个类 并实现接口
    class Student implements Man{}

  • 相关阅读:
    es字符串字段类型的私有属性 建立索引的分析器 用于查询的分析器 短语查询优化
    限制索引、字段的自动创建 无模式与自定义 索引结构映射 切面搜索
    Lucene索引数计算
    API网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd API 网关出现的原因
    git 中 A C D M R T U X 分别解释
    通过 ulimit 改善系统性能
    机器重启 查看crontab执行历史记录crontab没有执行
    烂代码 git blame
    es 中 for in for of
    发散阶段 收集阶段 标识符 得分 副本角色
  • 原文地址:https://www.cnblogs.com/lishixiang-007/p/11337300.html
Copyright © 2011-2022 走看看