es6常用语法学习笔记
1.let和const的常规使用
- let声明的变量不存在预解析
- let声明的变量不允许重复使用(在同一个作用域内)
- ES6引入了块级作用域{},块内部定义的变量,在外部是不可以访问到的
- 使用let在for循环括号中声明的变量只能在循环体中使用
- 在块级作用域内部,变量只能先声明在使用
- const用来声明常量,声明后不允许重新赋值
- const声明的变量必须初始化
2.变量的解构赋值
- 数组的解构赋值
var [a,b,c] = [1,2,3];
console.log(a,b,c); //1,2,3
var [a,b,c] = [,2,];
console.log(a,b,c); //undefined,2,undefined
var [a=11,b,c] = [,2,];
console.log(a,b,c); //11,2,undefined
- 对象的解构赋值let {foo,bar} = {foo:"hello",bar:"hi"};
console.log(foo,bar); //hello,hi
let {foo:abc,bar} = {foo:"hello",bar:"hi"};//给foo起个别名叫abc
console.log(abc,bar); //在使用的时候就要用abc,否则会报错
let {cos,sin,random} = Math; //直接去对象里边找对应的函数
let {foo:abc="hello",bar} = {bar:"hi"}; //对象解构赋值设置默认值
把对应属性的值赋值给变量,跟对象里属性的顺序无关
- 字符串的解构赋值
let [a,b,c,d,e] = "hello";
console.log(a,b,c,d,e); // h e l l o
let {length} = "nihao" console.log(length); //5
3.字符串扩展
includes()//判断字符串包含指定字符,参数2表示从第几个字符开始匹配
console.log("hello world".includes("world",7)) //false
- startsWith()判断字符串中是否以某字符开头
- endsWith()判断字符串中是否以某字符结尾
- 模板字符串
var obj = {
username:"zs"
}
console.log(`<div>${obj.username}</div>`);
4.函数扩展
- 参数默认值
function foo(param = "nihao"){console.log(param)} //nihao
- 参数解构赋值
function foo({uname,age}={}){} foo({uname:"lisi",age:12})
- rest参数(剩余参数)
function foo(a,b,...param){console.log(param);}
foo(1,2,3,4,5) //1,2,[3,4,5]
- 扩展运算符
function foo(a,b,c,d,e,f){console.log(a+b+c+d+e+f)}
let arr=[1,2,3,4,5,6]
foo(...arr) //
5.箭头函数
function foo (v){ return v} 等效于let foo = v => v //函数体只有一行代码可以省略大括号
箭头函数体内的this对象,就是定义时所在的对象,而不是调用时所在的对象,箭头函数导致this总是指向函数定义生效时所在的对象。
箭头函数不可以new
箭头函数不可以使用arguments获取参数列表
es6常用语法学习笔记的更多相关文章
- vue学习(一)ES6常用语法
1 ES6常用语法 1.1 变量提升 例① # 变量提升 <div id="app"> </div> <script> console.log( ...
- 7 种 Javascript 常用设计模式学习笔记
7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...
- ES6常用语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
- Golang 语法学习笔记
Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...
- MarkDown语法 学习笔记 效果源码对照
MarkDown基本语法学习笔记 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 下面将对Markdown的基本使用做一个介绍 目 ...
- 毕业设计 之 五 PHP语法学习笔记
毕业设计 之 四 PHP语法学习笔记 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 说明:该笔记是对网站编程语言的详细学习 一.PHP基础 0. 关于环境 ...
- Markdown常用语法学习
Markdown常用语法学习,这些就够用了. 演示地址: https://github.com/YalongYan/Markdown-- 特别提示: 标题'##'后面必须加一个空格,否则编译不对.# ...
- ES6常用语法简介import export
ES6常用语法简介import export let与var用法区别 //var var a = []; for (var i = 0; i < 10; i++) { a[i] = functi ...
随机推荐
- MATLAB中“fitgmdist”的用法及其GMM聚类算法
MATLAB中“fitgmdist”的用法及其GMM聚类算法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 高斯混合模型的基本原理:聚类——GMM,MA ...
- ASP.NET基础知识汇总之WebConfig自定义节点详细介绍
之前介绍过Webconfig的具体知识ASP.NET基础知识汇总之WebConfig各节点介绍.今天准备封装一个ConfigHelper类,涉及到了自定义节点的东东,平时虽然一直用,但也没有系统的总结 ...
- typeScript面对对象篇二
接口 接触过面向对象的后端语言的应该对接口很熟悉,只接触过前端的对接口会有点陌生,在维基百科中对OOP中接口的定义是这样的: 在面向对象的语言中,术语interface经常被用来定义一个不包含数据和逻 ...
- 类Object
Object概述 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定 ...
- MySQL操作(备份很重要)
文档一: --修改用户密码的命令 mysqladmin -uroot -proot123 password mysql123 --登录mysql数据库的命令 mysql -uroot -proot12 ...
- 企业出口退税申报系统的Sqlite数据库破解及读写
QQ:564955427 原始出处:https://www.cnblogs.com/Charltsing/p/TSSB.html 最近一些朋友反映龙图的企业出口退税申报系统的Sqlite数据库改变了加 ...
- 项目笔记-vue
记录新建vue项目之后的种种. 2019年3月12日,从git上下载了一个vue后台模板的项目,git地址:https://github.com/lin-xin/vue-manage-system ( ...
- Django(六)Session、CSRF、中间件
大纲 二.session 1.session与cookie对比 2.session基本原理及流程 3.session服务器操作(获取值.设置值.清空值) 4.session通用配置(在配置文件中) 5 ...
- 微信支付之01------获取订单微信支付二维码的接口------Java实现
[ 前言:以前写过一个获取微信二维码支付的接口,发现最近公司新开的项目会经常用到,现在我又翻出代码看了一遍,觉得还是把整个代码流程记下来的好 ] 借鉴博客: 他这篇博客写得不错,挺全的:https:/ ...
- IO模型、线程模型
五种IO模型介绍和对比 https://juejin.im/post/5bd32b84f265da0ac962e7c9 Linux 的 IO 通信 以及 Reactor 线程模型浅析 https:// ...