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 ...
随机推荐
- mysql export mysqldump version mismatch upgrade or downgrade your local MySQL client programs
I use MySQL Community Edition and I solved this problem today. goto https://dev.mysql.com/downloads/ ...
- MySQL(InnoDB)是如何处理死锁的
MySQL(InnoDB)是如何处理死锁的 一.什么是死锁 官方定义如下:两个事务都持有对方需要的锁,并且在等待对方释放,并且双方都不会释放自己的锁. 这个就好比你有一个人质,对方有一个人质,你们俩去 ...
- Linux下安装Nginx并配置一个图片服务器
首先安装nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ...
- 网络流 E - Escape HDU - 3605
2012 If this is the end of the world how to do? I do not know how. But now scientists have found tha ...
- 如何通过Git将写好的项目发布到github上
1.在GitHub上创建新的项目文件 2.创建之后会进入新的页面,看到如下图的内容,将地址记下来 3.打开Git 4.进入项目本地所在目录 5.输入:git init 这个意思是在当前项目的目录中生成 ...
- 好程序员web前端分享如何理解JS的单线程
好程序员web前端分享如何理解JS单线程,JS本质是单线程的.也就是说,它并不能像JAVA语言那样,两个线程并发执行. 但我们平时看到的JS,分明是可以同时运作很多任务的,这又是怎么回事呢? 首先,J ...
- 【原创】那些年用过的Redis集群架构(含面试解析)
引言 今天是2019年2月12号,也就是大年初八,我接到了高中同学刘有码面试失利的消息. 他面试的时候,身份是某知名公司的小码农一枚,却因为不懂自己生产上Redis是如何部署的,导致面试失败! 人间惨 ...
- 云计算openstack介绍
一.云计算的前世今生 所有的新事物都不是突然冒出来的,都有前世和今生.云计算也是IT技术不断发展的产物. 要理解云计算,需要对IT系统架构的发展过程有所认识. 请看下 IT系统架构的发展到目前为止大致 ...
- 移除 iview的Input组件默认background效果
.class名 .ivu-input-group-prepend{ background:rgba(255,255,255,0); color: #fff; }
- QQ浏览器、火狐浏览器中页面有点大的问题记录
做页面时候,发现火狐和腾讯QQ浏览器有个问题,就是会将页面显示的比较大,像点了缩放比例120%似的,事实上缩放比例是100%,很奇怪. 甚至面对这个问题,连腾讯公司主页也会放大,也让我很困惑. 比如: ...