ES6的常见语法!!

Posted lishixiang-007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于ES6的常见语法!!的主要内容,如果未能解决你的问题,请参考以下文章

ES6的常见语法!!

常见ES6新属性

ES6/ES7 中“可选”对象键的简洁/简洁语法?

ES6/ES7 中“可选”对象键的简洁/简洁语法?

2020-2-2 语法糖

ES6语法总结-Module的语法