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 ...
随机推荐
- infinity新标签页失效
安装infinity新标签页后,无法生效,或者infinity新标签页突然失效了. 驱动精灵的问题 驱动精灵安装后,还会安装其它的软件,在卸载后,安装的软件还存在. 解决办法 光卸载驱动精灵还不够,还 ...
- 2015年第六届蓝桥杯C/C++程序设计本科B组决赛 ——居民集会(编程大题)
标题:居民集会 蓝桥村的居民都生活在一条公路的边上,公路的长度为L,每户家庭的 位置都用这户家庭到公路的起点的距离来计算,第i户家庭距起点的距 离为di.每年,蓝桥村都要举行一次集会.今年,由于村里的 ...
- idea中的插件,可以快速将类中的属性转换成Json字符串
当我们想要测试接口的时候,难免会根据一个类,一个一个的写json数据,当属性比较少时还行,但当属性多的时候就比较麻烦了, 为了解决这个问题,我们可以安装第三方的插件来快速生成json字符串. 步骤如下 ...
- 201871010132--张潇潇--《面向对象程序设计(java)》第十四周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...
- Linux服务器惨遭挖矿
昨天为了协助客户测试业务,帮客户开通了一台云主机,因为是测试环境所以密码设置的很简单:1qaz@WSX,今天登陆的是否发现密码认证不通过了,确定机器是被黑掉了,估计多半是被国外小哥入侵挖矿了,记录 ...
- arduino控制SIM900A模块
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.5fc02e8dncAF2p&id=604968021102&_u=i1qf7bf5f ...
- python中多线程相关
基础知识 进程:进程就是一个程序在一个数据集上的一次动态执行过程 数据集:程序执行过程中需要的资源 进程控制块:完成状态保存的单元 线程:线程是寄托在进程之上,为了提高系统的并发性 线程是进程的实体 ...
- F5 开发
产品试用申请 https://www.f5.com/trials 默认终端登录密码 root/default 默认网页登录信息 admin/admin logstash添加user agent插件 h ...
- Express服务器开发
作者 | Jeskson 来源 | 达达前端小酒馆 Express服务器开发 创建Express应用程序,Express路由,pug视图模板的使用 Express简介: 让我们来创建Express应用 ...
- c语言编译器一个不会报错的陷阱
1, 由于数字1和小写字母L(l)长得特别像,特别是VS默认字体里的,所以 double a; scanf("%1f",&a); double b; scanf(" ...