一.Let,const
Let 具备块级作用域
(1)没有预解析,不存在变量提升
Let a=12; function show(){ console.log(a); //Tdz 开始暂时性死区, let a=5; //TDZ结束 }
(2)同一作用域不能重复定义相同变量
For循环,For循环里面是父级作用域 for(let i=0;i<3;i++){ let i=’abc’; console.log(i) //打印出3次‘abc’(i在不同得作用域) }
const 定义常量 特性和let一样
(1)const定义的定义必须有值,不能后赋值,不能修改
如果真的想将对象冻结,应该使用Object.freeze方法。
const foo = Object.freeze({}); // 常规模式时,下面一行不起作用; // 严格模式时,该行会报错 foo.prop = 123;二.解构赋值
Let [a,b,c]=[2,3,4] 注意:左右俩边,结构格式要保持一致 Json: var obj={ a:2, b:3 }; let {a,b}=obj; let {a:nsds,b}=obj;//将a起名字为nsds let [a,b,c="暂无数据"]=["aa","bb"]; //可以设置默认值
交换俩个数的位置
let a=9; let b=8; [a,b]=[b,a];
案例
function show({a="1",b="2"}){ console.log(a,b) //给默认值 } show({});
注意:ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。
let [x = 1] = [undefined]; x // 1 let [x = 1] = [null]; x // null三.字符串模板
(1)优点:随意换行
格式:${name}
let name="abc"; let age=18; let str=`这个人名字:${name},年龄:${age}`; console.log(str)
(2)字符串查找
str.indexOf(要找的东西); //返回索引(位置),没有找到返回-1
str.includes(要找的东西); //返回值 true/false
判断浏览器:navigator.userAgent.includes("chrome")
检测字符串以谁开头:str.startsWith(检测东西)
检测字符串以谁结尾:str.endsWith(检测东西)
重复字符串:str.repeat(3) 重复3次
字符串填充:str.padStart(整个字符串长度,填充东西) //往前填充
str.padEnd(str.length+str1.Length,填充东西) //往后填充
1.函数默认参数
function show({a="1",b="2"}={}){ console.log(a,b) //函数的特性 } show()
2.函数参数默认已经定义,不能再使用let,const声明:
function show(a=18){ Let a=12; //错误 console.log(a) } show()
3.扩展运算符,reset运算符... (展开/收起 数组)
let arr=["apple","banana","orage"] console.log(...arr) //apple banana orage function show(a,b,...c){ console.log(a,b)//1 2 console.log(c)//[3,4,5,6] } show(1,2,3,4,5,6)
4.箭头函数=>
Let show()=>a // 相当于return a
A.this问题,定义函数所在的对象,不在运行时所在的对象
B.箭头函数里没有arguments,用‘...’
C.箭头函数不能用于构造函数
1.Arr.forEach()//代替普通for
Arr.forEach(循环回调函数,this指向谁)
let arr=[1,2,3,4,5,6]; arr.forEach(function(val,index,arr){ console.log(this) // this指123 },123)
2.Arr.map()
正常情况下配合return,返回一个新的数组。若没有return相当于forEach()
重新整理数据结构:
3.Arr.filter() :
过滤,过滤一向不合适“元素”,如果回调函数返回的时true,则留下 [{title:’aaa’}]->[{t:’aaa’}]
4.Arr.some()
类似查找,数组里面某一个元素符合条件,返回true;
5.Arr.every()
数组里面所有的元素都要符合条件,才返回true
6.Arr.reduce() 2**3求幂
从左往右求数组的和,阶层
7.Arr.reduceRight() //从右往左
for...of循环
默认循环的是value
arr.key() 数组下标
Arr.entries() 数组的某一项
Array.from()
作用:把类数组(获取一组元素,arguments...)对象转成数组
只要有length就靠谱
Array.of()
把一组值,转成数组
Array.find()
查找,找出第一个符合条件的数组成员,如果没有找到,返回undefined
Array.findIndex()
找的是位置,没找到返回-1
Array.fill()填充
Array.fill(填充的东西 开始位置,结束位置)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/106430.html
摘要:学习笔记顶层对象虽然是笔记但是基本是抄了一次大师的文章了顶层对象顶层对象,在浏览器环境指的是对象,在指的是对象。之中,顶层对象的属性与全局变量是等价的。的写法模块的写法上面代码将顶层对象放入变量。参考引用顶层对象实战 es6学习笔记-顶层对象_v1.0 (虽然是笔记,但是基本是抄了一次ruan大师的文章了) 顶层对象 顶层对象,在浏览器环境指的是window对象,在Node指的是gl...
摘要:最近买了深入理解的书籍来看,为什么学习这么久还要买这本书呢主要是看到核心团队成员及的创造者为本书做了序,作为一个粉丝,还是挺看好这本书能给我带来一个新的升华,而且本书的作者也非常厉害。 使用ES6开发已经有1年多了,以前看的是阮一峰老师的ES6教程,也看过MDN文档的ES6语法介绍。 最近买了《深入理解ES6》的书籍来看,为什么学习ES6这么久还要买这本书呢?主要是看到Daniel A...
摘要:新搭建的个人博客,本文地址学习笔记用重写在一开始的时候配置中我们就加入了的支持,就是下面的配置,但之前的学习笔记都使用的完成,所以专门作一篇笔记,记录使用完成创建相关文件修改,增加该入口文件修改,引入该文件做个简单的测试,看下浏览器全部用来 新搭建的个人博客,本文地址:React学习笔记3:用es2015(ES6)重写CommentBox在一开始的时候webpack配置中我们就加入了e...
摘要:彩票项目实战学习记录一完整走了一遍课程,觉得还不错。支持正版人人有责零基础教学解析彩票项目下面是项目课程的目录路线一个项目分为三部分业务逻辑,自动构建系统,模拟数据和真实数据接口处理。 彩票项目实战学习记录(一) 完整走了一遍课程,觉得还不错。 总结: es6的知识点说得还算清楚,主要是为了了解和使用,不是深究,所以浅尝即止即可,所以觉得还不错。 完整还原了项目开发的代码设计和开发过...
阅读 1617·2021-11-22 14:45
阅读 1063·2021-11-17 09:33
阅读 3321·2021-09-02 09:48
阅读 969·2019-08-30 15:54
阅读 2766·2019-08-30 15:53
阅读 2552·2019-08-30 12:54
阅读 2241·2019-08-29 12:37
阅读 2420·2019-08-26 13:58