关于var和ES6中的let,const的理解
var的作用就不多说了,下面说说var的缺点:
1.var可以重复声明
var a = 1;
var a = 5;
console.log(a); //5 不会报错
在像这些这些严谨的语言来说,一般是不允许重复声明的。
2.无法限制修改
var a = 5;
a = 6;
console.log(a); //6 不会报错
3.没有块级作用域
if(true){
var a = 5;
}
console.log(a) // 5
以上几个就是我个人对var的看法
ES6中,多了两个声明let 和 const
let和const的共同点 : 不能重复声明,都是块级作用域
//let和const重复声明
//let
let a= 1;
let a = 2;
console.log(a); //报错 //const
const b = 2;
cosnt b = 3;
console.log(b); //报错 //let和const的块级作用域
//let
if(true){
let a = 8l
}
console.log(a); // 报错 //const
if(true){
const b = 8;
}
console.log(b) //报错 相对于var
if(true){
var c = 10;
}
console.log(c); //10
let和const的不用点:let声明的是变量,可以改变; const 声明的是常量,不能改变。
//let和const的不同点
//let声明的是变量,可以改变
let a = 8;
a = 88;
console.log(a); //88 //cosnt声明的是常量,不可以改变
const b= 8;
b = 88;
console.log(b); //报错
以上是我个人对var,let和const的理解
关于var和ES6中的let,const的理解的更多相关文章
- 浅谈ES6——ES6中let、const、var三者的区别
在了解let.const.var的区别之前,先了解一些什么是es6 Es6 全称ECMAscript 是JavaScript语言的一个标准,其实Es6本质就是JavaScript的一个版本,为什么叫E ...
- es6 中的let,const
在es6中,let的作用和var差不多,都是用来声明变量的,但是他们之间的区别在于作用域不同,大家都知道在js中没有块级作用域,例如: for(var i=0;i<10;i++){ consol ...
- ES6 中 let 和 const 总结
目录 let const 1. let要好好用 1. 基本用法 2. let声明的变量不存在变量提升 3. TDZ(temporal dead zone)暂时性死区 4. 不允许重复声明 2. 块级作 ...
- (转)ES6系列——let和const深入理解
原文:https://juejin.im/post/59e6a86d518825422c0cbb6f https://www.cnblogs.com/slly/p/9234797.html-----l ...
- ES6中的class类的理解
传统的javascript中只有对象,没有类的概念.它是基于原型的面向对象语言.原型对象特点就是将自身的属性共享给新对象.这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人 ...
- ES6中let、const和var的区别
一.let 1.基本用法 ES6 新增了let命令,用来声明变量. let 的用法类似于 var,但所声明的变量只在 let 命令所在的代码块内有效(一个“{}”相当于一个代码块) { let a = ...
- ES6 中 let and const
let 和 const 命令 let 命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; v ...
- ES6中let与const命令详解
阮一峰ES6入门 let 作用域 let命令用来声明变量,但声明的变量只在let命令所在的代码块内有效. { let a = 10; var b = 1; } a // ReferenceError: ...
- ES6中let和const详解
let和var一样也是用来定义变量,不同之处在于let是块级作用域,只在所定义的块级作用域中生效,一个花括号便是一个块级作用域 {var a="我是var定义的";let b=&q ...
随机推荐
- UGUI ScrollRect 各参数的代码引用以及作用
- Kudu版本升级(官网推荐的步骤)(Upgrade from a Previous Version of Kudu)
不多说,直接上干货! http://kudu.apache.org/docs/installation.html#sles_from_source
- Tomcat启动时报错:“ Error starting static Resources”问题解决
部署测试环境的时候,需要用到Tomcat.故在Linux上部署了Tomcat,并将开发提供的工程包部署到Tomcat的webapps目录下,启动Tomcat,部署成功.第二天修改工程配置文件时,发现w ...
- Linux 安装 webmin
下载webmin的rpm包 yum install webmin-rpm systemctl start webmin 即可
- 微信小程序 列表渲染 wx:for
wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件. wx:for-item指定数组当前元素,或当前项的变量名wx:for-index 指定数组当前下标的变量名 <view ...
- Day4上午
expect100+50+50, In fact 100+10+0. 代码能力还有待提高,部分分应该能拿的.结果...力不从心啊. T1 贪心做的不知对不对. 看来思路是对的,不知道能不能对. 暴力做 ...
- Java入门之Tomcat安装及环境变量配置
一.Tomcat下载 地址:http://tomcat.apache.org/download-80.cgi#8.0.39 本人用的是Tomcat/8.0.37免安装版,解压到一个目录,本人用的是:D ...
- Git GUI基本操作
一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...
- 账户密码提示 jq简单事件
$(".username").focus(function(){ if($(this).val()=="请输入用户名"){ $(this).val(" ...
- 简单二级导航JQ事件代码
$(function()){ $("li").hover(function(){ $(this).children("dl").show() },functio ...