let和const解构赋值
1、let和const:最基础也很容易理解的,let是 声明一个变量,const是声明一个常量。
具体细节看如下实例代码
{
let a=;
console.log(a)
}
// console.log(a) //let 只作用于当前代码块,也就是{}之内,所以这里会报错,而且不会预解析,下面声明是没用的
let a=
//let 声明一个变量
//const 声明一个常量(不会变的)
// let a=1;
// var a=1;
// let a=1//这两种情况会报错,不允许重复性声明变量
let f=;
function cons() {
f=; //暂时性死区 会报错
console.log(f)
let f=
}
// cons()
//let在for循环中的好处直接打印出索引,不用index()方法
var btn=document.getElementsByClassName('btn');
console.log(btn)
for(let i=;i<btn.length;i++){
btn[i].onclick=function () {
console.log(i)
}
}
//let在for循环中,在循环语句里面是父作用域,在循环内是子作用域
for(let i=;i<;i++){
let i=;
console.log(i) //打印出来是10;上面的是父作用域,里面的事子作用域
}
/*
* const同样有let 的上面特点,1 声明的常量只能在其代码块内有效 2 声明的变量不会被提升(预解析)3 不能声明以及声明过的常量,
* 除了这些还有 1 声明的时候必须赋值2 如果储存的事个简单数据类型时候不能改变其值,如果是对象,那么引用不可以改变,只有里面的数据变化是没关系的
* */
2、解构赋值,简单来说就是将等号两边写成一样的模式,然后进行对应的赋值。如下实例
//1 数组的解构赋值
let [a,b,c]=[,,]
console.log(a,b,c) //1 2 3
let [e,[[f],g]]=[,[[],]]
console.log(e,f,g) //1 2 3
let [x]=[]
console.log(x)//相当于let x; undefined
let [y=]=[]
console.log(y)//1 可以给默认值
//2 对象的解构赋值,原来就是根据key值,查找赋值,因为对象没有顺序
let {h,i}={h:'aaa',i:'bbb'}
console.log(h,i) //aaa bbb
let {j:k}={j:}
console.log(k) //2222
//3 基本类型的解构赋值,用的很少,可忽略
let [s,m,n]=''
console.log(s,m,n) //1 2 3
let和const解构赋值的更多相关文章
- 关于ES6-{块级作用域 let const 解构赋值 数组 字符串 函数的扩展 箭头函数}
关于ES6 块级作用域 任何一对花括号({})中的语句集都属于一个块,在块中声明的变量在代码块外都是不可访问的,称之为块级作用域,ES5以前没有块级作用域 let let 是ES6新增的声明变量的一种 ...
- ECMAScript6学习笔记 ——let、const、变量解构赋值
let 不存在变量提升 通过let声明的变量仅在块级作用域内有效 不允许在同一个作用域内重复声明一个变量 防止值公用 var oUl = document.querySelectorAll('ul&g ...
- const命令,全局变量的属性,变量的解构赋值
const命令 1:声明常量(只在当前代码块中有效)---注意声明的常量可以是对象,但是常量储存的是对象的地址,地址声明后不可变,但是可以给常量对象添加属性 全局变量的属性 1:window和glob ...
- ES6学习笔记(let,const,变量的解构赋值)
1.let: ; i < 3; i++) { let i = 'abc'; console.log(i); } // abc // abc // abc 不存在变量提升,它所声明的变量一定要在声 ...
- ES6学习笔记一:let、const、解构赋值
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7236342.html 感谢阮一峰老师的无私奉献,开源推动世界!教程地址:http://es6.ruanyife ...
- ES6新增语法和内置对象(let,const, Array/String/Set 扩展方法(解构赋值,箭头函数,剩余参数))
1.let ES6中新增的用于声明变量的关键字. let 声明的变量只在所处于的块级有效. 注意:使用 let 关键字声明的变量才具有块级作用域,var 关键字是不具备这个特点的. 1. 防止循环变量 ...
- ES6学习----let、const、解构赋值、新增字符串、模板字符串、Symbol类型、Proxy、Set
这篇es6的学习笔记来自于表哥 表严肃,是我遇到过的讲课最通透,英文发音最好听的老师,想一起听课就去这里吧 https://biaoyansu.com/i/hzhj1206 ES6就是JS6,JS的第 ...
- es6之变量的解构赋值
es5中通常我们声明变量都是以下的方式: var a = 10; var b = 20; var c = 30; //或者 var a = 10,b = 20,c = 30; //或者 var arr ...
- ES6之解构赋值
截止到ES6,共有6种声明变量的方法,分别是var .function以及新增的let.const.import和class: 我们通常的赋值方法是: var foo='foo'; function ...
随机推荐
- Django之分页器组件
class Pagination(object): def __init__(self,current_page,all_count,per_page_num=2,pager_count=11): & ...
- PWN 菜鸡入门之 shellcode编写 及exploid-db用法示例
下面我将参考其他资料来一步步示范shellcode的几种编写方式 0x01 系统调用 通过系统调用execve函数返回shell C语言实现: #include<unistd.h> #in ...
- 《Spring Cloud》学习(一) 服务治理!
前言:之前网上学习过Spring Cloud,对于工作上需要是足够了,总归对于一些方面一知半解,最近难得有些闲暇时间,有幸读了崔永超先生的<Spring Cloud 微服务实战>,一方面记 ...
- 老雷socket编程之websocket实现
老雷socket编程之websocket实现 我们主要实现私聊和群聊两个功能,要在web端实现想微信QQ那样的即时通讯的功能,我们需要了解一下websocket.websocket是一种可以双向通讯的 ...
- 如何正确选择挑选适合的VPS服务器
就来讲讲,如何挑选适合你的VPS.基本过程就是:1.你使用VPS的用途:2.你需要的线路:3.你要选择的操作系统:4.你购买VPS的大概预算是多少. 一.用途方法,其实买VPS就是:建站.VPN使用. ...
- Python基础-使用range创建数字列表以及简单的统计计算和列表解析
1.使用函数 range() numbers = list(range[1,6]) print (numbers) 结果: [1,2,3,4,5] 使用range函数,还可以指定步长,例如,打印1~1 ...
- 并发编程-concurrent指南-阻塞双端队列-链阻塞双端队列LinkedBlockingDeque
LinkedBlockingDeque是双向链表实现的阻塞队列.该阻塞队列同时支持FIFO和FILO两种操作方式,即可以从队列的头和尾同时操作(插入/删除): 在不能够插入元素时,它将阻塞住试图插入元 ...
- SpringMVC框架的简单理解
首先,让我们来看下下图 SpringMVC解决了View和Controller的交互问题 其中有几个重要组成部分: (1) DispatcherServlet: 前端控制器 用于接收所有请求,并负责分 ...
- QT知识整理
1.connect函数的SIGNAL可以是按键.定时器.其他对象的信号.如果是其他对象的信号,对象必须要在当前类中实例化. 2.Qt数据类型转换 1)int转QStringint a=10;QStri ...
- Centos7 安装jdk,MySQL
报名立减200元.暑假直降6888. 邀请链接:http://www.jnshu.com/login/1/20535344 邀请码:20535344 学习阿里云平台的云服务器配置Java开发环境.我现 ...