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基本常见语法
特色:写法更加优雅,更加像面像对象的编程,其思想和 ES5 是一致的. 箭头函数.this ES6中可以使用 => 作为函数表达形式,极简风格,参数+ => +函数体. var foo = ...
- freemarker(FTL)常见语法大全
[转载]freemarker(FTL)常见语法大全 FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${boo ...
- PHP. 01. C/S架构、B/S架构、服务器类型、服务器软件、HTTP协议/服务器、数据库、服务器web开发、PHP简介/常见语法、PHPheader()、 PHP_POST/GET数据获取和错误处理
C/S架构 Client/Server 指客户端,服务器 架构的意思 优点:性能性高:可将一部分的计算工作放在客户端上,服务器只需处理出局即可 洁面炫酷,可使用更多系统提供的效果 缺点:更新软件需 ...
- [js高手之路] es6系列教程 - new.target属性与es5改造es6的类语法
es5的构造函数前面如果不用new调用,this指向window,对象的属性就得不到值了,所以以前我们都要在构造函数中通过判断this是否使用了new关键字来确保普通的函数调用方式都能让对象复制到属性 ...
- word宏(macro) 之 注意事项,常见语法和学习地方
宏:计算机科学里的宏(Macro),是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串).这种 ...
- python全栈开发_day14_常见语法糖,递归和匿名函数
一:常见语法糖 1)三元函数(三目函数) a=1 if 3>2 else 2 print(a) #得到返回值:1 2)列表字典推导式 lis=[("a",1),(" ...
- IOS常见语法解惑
由于工作过程中经常需要查看IOS的Objective-C代码,遂把一些常见的.有疑问的OC语法列出,方便之后会看,提升效率. Objective-C中的@语法 @interface告诉编译器,我要声明 ...
- 超好用的Markdown编辑器Typora中的常见语法
目录 下载网址 安装 一.标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 二.语法环境 三.单选 四.字体 五.分割符 六.列表 七.图片引入 八.表格 九.超链接 下载网址 正版中 ...
- es6的常用语法
最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...
随机推荐
- mysql字段约束-索引-外键---3
本节所讲内容: 字段修饰符 清空表记录 索引 外键 视图 一:字段修饰符 (约束) 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table wo ...
- vue项目实基础到实战,入门到精通,移动商城
最近发现许多的朋友都问我有没有vue项目的案例学习,最近正在学习vue,在这可以分享给大家,希望大家学有所成,相互交流共同进步,先不说了,吃个宵夜. 就这么多吧,需要的可以在下方留言或者加qq:116 ...
- 大宗商品市场的未来王者 | 现货贸易商PK期货风险管理子公司
https://mp.weixin.qq.com/s/z-kkeIor6vDb9Oer73Ct6w 大宗商品市场卧虎藏龙,参与者众多,然而能称之为王者的却寥寥无几. 在国外,以嘉能可.托克.摩科瑞为代 ...
- LG4782 「模板」2-SAT问题 2-SAT
问题描述 LG4782 题解 对于一个限制条件,建边如下: 如果\(x,-x\)在同一个强联通分量里,则不行,否则可以 构造方案:输出\(bel_i<bel_{i+n}\) \(\mathrm{ ...
- webapi基于单请求封装多请求的设计【转】
怎么说,单请求封装多请求,这句话确实有点绕了,但还是要看清楚,想明白这到底是怎么一回事,单请求即一次请求(get,post,put,delete),封闭多请求,即在客户端发送的一个请求中可能包含多个子 ...
- generator(生成器)
什么是generator函数: 在js中,一个函数一旦执行,就会运行到最后或者遇到return时结束,运行期间不会有其它代码能打断它,也不能从外部再传入值到函数体内. generator函数的出现就可 ...
- 【2019.7.25 NOIP模拟赛 T1】变换(change)(思维+大分类讨论)
几个性质 我们通过推式子可以发现: \[B⇒AC⇒AAB⇒AAAC⇒C\] \[C⇒AB⇒AAC⇒AAAB⇒B\] 也就是说: 性质一: \(B,C\)可以相互转换. 则我们再次推式子可以发现: \[ ...
- 题解 P2668 【斗地主】
dfs+简易剪枝+简易a* 思路: dfs+简易剪枝+简易a(我也不知道算不算a): dfs参数记录层数 按消耗牌多少的贪心顺序搜索 有几种情况可以不用搜索(但我还是搜索了) 可以用a*估算出来 最后 ...
- jenkins pipeline 复杂的发布流程
1.参数化构建界面 2.交付流水线界面 3.脚本详解 #!groovy pipeline { //在任何可用的代理上执行Pipeline agent any //参数化变量,目前只支持[boolean ...
- 视觉融合定位github
1. obr_slam有关的非常有用的github链接: https://github.com/Ewenwan/MVision/tree/master/vSLAM/oRB_SLAM2 2. gnss, ...