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 ...
随机推荐
- CMake与Make最简单直接的区别 [转]
写程序大体步骤为: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器连接目标代码生成可执行文件,如.exe. 但如果源文件太多,一个一个编译时就会特别麻烦 ...
- MyCP.java蓝墨云班课
题目要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容 ...
- C语言报错:error: expected ‘while’ at end of input } ^
在建线程池过程当中遇见上图所示错误: 解决方法: Linux中定义: SYNOPSIS #include <pthread.h> void pthread_cleanup_push(voi ...
- 石家庄地铁系统开发(java web版)(二)
两种方法: 一,自己写数据库,自己写算法实现 二,调用已有软件的API(百度,高德)
- 工具(5): 极简开发文档编写(How-to)
缘起 一个合格的可维护项目,必须要有足够的文档,因此一个项目开发到一定阶段后需要适当的编写文档.项目的类型多种多样,有许多项目属于内部项目,例如一个内部的开发引擎,或者一个本身就是面向开发者的项目. ...
- [转帖]windows10,business版和consumer版本区别
windows10,business版和consumer版本区别 时间:2018-07-08 10:50来源:原创 作者:5分享 点击: 7113 次 windows10系统(1803)busines ...
- Django2 Django MTV模板
1.MVC模型 Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型负责业务对象与数据库 ...
- Appium环境搭建-完整版
环境依赖 Node.js Appium Appium-desktop Appium-doctor Appium-Python-Client Python JDK Andriod SDK 以上所需的软件 ...
- echarts 页面对应更改
---legrnd legend: { icon: "circle", orient: 'vertical', right: 10, top: 20, bottom: 20, da ...
- Django内存管理的6种方法
一.django的缓存方式有6种: 1.开发者调试缓存 2.内存缓存 3.文件缓存 4.数据库缓存 5.Memcache缓存(使用python-memecached模块) 6.Memcache缓存(使 ...