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的常见语法!!的更多相关文章

  1. ES6基本常见语法

    特色:写法更加优雅,更加像面像对象的编程,其思想和 ES5 是一致的. 箭头函数.this ES6中可以使用 => 作为函数表达形式,极简风格,参数+ => +函数体. var foo = ...

  2. freemarker(FTL)常见语法大全

    [转载]freemarker(FTL)常见语法大全 FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format}  ${boo ...

  3. PHP. 01. C/S架构、B/S架构、服务器类型、服务器软件、HTTP协议/服务器、数据库、服务器web开发、PHP简介/常见语法、PHPheader()、 PHP_POST/GET数据获取和错误处理

    C/S架构 Client/Server 指客户端,服务器 架构的意思 优点:性能性高:可将一部分的计算工作放在客户端上,服务器只需处理出局即可   洁面炫酷,可使用更多系统提供的效果 缺点:更新软件需 ...

  4. [js高手之路] es6系列教程 - new.target属性与es5改造es6的类语法

    es5的构造函数前面如果不用new调用,this指向window,对象的属性就得不到值了,所以以前我们都要在构造函数中通过判断this是否使用了new关键字来确保普通的函数调用方式都能让对象复制到属性 ...

  5. word宏(macro) 之 注意事项,常见语法和学习地方

    宏:计算机科学里的宏(Macro),是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串).这种 ...

  6. python全栈开发_day14_常见语法糖,递归和匿名函数

    一:常见语法糖 1)三元函数(三目函数) a=1 if 3>2 else 2 print(a) #得到返回值:1 2)列表字典推导式 lis=[("a",1),(" ...

  7. IOS常见语法解惑

    由于工作过程中经常需要查看IOS的Objective-C代码,遂把一些常见的.有疑问的OC语法列出,方便之后会看,提升效率. Objective-C中的@语法 @interface告诉编译器,我要声明 ...

  8. 超好用的Markdown编辑器Typora中的常见语法

    目录 下载网址 安装 一.标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 二.语法环境 三.单选 四.字体 五.分割符 六.列表 七.图片引入 八.表格 九.超链接 下载网址 正版中 ...

  9. es6的常用语法

    最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...

随机推荐

  1. Java面试题:JVM中的类加载机制

    JVM 的类加载机制是指 JVM 把描述类的数据从 .class 文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是 JVM 的类加载机制. 类 ...

  2. BCD解密

    #include<stdio.h> int main(void) { int num; scanf_s("%d", &num); printf( * + num ...

  3. DNS解析过程--笔试答题版

    在运维笔试的时候,回答DNS解析的过程,不能写一大堆,一是不美观,二是浪费时间,应该怎么写呢?我觉得这样写比较好. 1.客户端:chche----hosts 2.DNS服务器:cache---递归-- ...

  4. pikachu的xss及csrf

    一.XSS 可解析的js 未经过滤 XSS见框就插     script 大小写  中间插入 <img src="" onerror="alert(11111)&q ...

  5. JAVA大数的一些操作

    参考: https://www.cnblogs.com/tonyyy/p/10433460.html https://www.cnblogs.com/wkfvawl/p/9377441.html (d ...

  6. Tableau 基础

    1.Tableau产品介绍 tableau desktop:桌面端分析工具,分个人版和专业版,可连接几乎所有数据源,速度快 tableau server:一款商业智能应用程序,用于发布和管理table ...

  7. Excel 日期和时间函数

    1.TODAY和NOW函数 today和now函数 日期可以进行加减运算 2.提取日期和时间的函数 公式=Year() 公式=month() 公式=day() 公式=hour() 公式=minute( ...

  8. win10经常无法复制粘贴

    两种方法尝试一下: 1. 在c:\windows\system32 目录下新建文件夹,命名为clip 2. 因为有道词典会监控并占用你的剪贴板,请尝试关闭有道词典的[取词]和[划词]功能,如果还不行就 ...

  9. Express服务器开发

    作者 | Jeskson 来源 | 达达前端小酒馆 Express服务器开发 创建Express应用程序,Express路由,pug视图模板的使用 Express简介: 让我们来创建Express应用 ...

  10. QLayout及其子类 清除添加的widget

    起初,我的思路是,先取得Layout的items数量, 然后通过索引来移除每一个items,代码如下: QHBoxLayout * hly = new QHBoxLayout; ; i < ; ...