ES6新特性let和const命令怎么用

这篇文章主要介绍“ES6新特性let和const命令怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6新特性let和const命令怎么用”文章能帮助大家解决问题。

1. let 命令

① 在js中是没有块级作用域的,var 声明的变量作用域是整个函数体,而let可以起到这一作用

{
  let a = 1;
  var b = 2;
}
console.log(b); // 2
console.log(a); // a is not defind

② 而let可以起到这一作用啊在js中变量和函数的声明会提升到当前作用域最顶部执行。这样就会出现问题。

var a = [];
//函数和变量i会最先进行声明,同时全局变量i经过for循环赋值为10
for (var i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
console.log(i);//10
a[6]();//10

而使用let就解决了这个问题

for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); //6

③ let不像var那样,会发生“变量提升”现象

console.log(a); // a is not defined
let a = 1;

④ let不允许在相同块级作用域内,重复声明同一个变量

// 报错
{
  let a = 10;
  var a = 1;
}
// 报错
{
  let a = 10;
  let a = 1;
}

2. const 命令

① const也用来声明变量,但是声明的是常量。一旦声明,常量的值就不能改变。
② 与let相同也不能在相同块级作用域内重复声明同一个变量。
③ const的作用域与let命令相同:只在声明所在的块级作用域内有效。

const PI = 3.1415;
console.log(PI); // 3.1415
//PI = 3; // Assignment to constant variable.(不能给常量赋值)
//const PI = 3.1;// Identifier 'PI' has already been declared

关于“ES6新特性let和const命令怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注本站行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐:

C++成员函数中const如何使用

本篇内容介绍了“C++成员函数中const如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!修饰入参首先我们要明白在C++中调用函数时存在两种方法,即传递值和传递引用。值传递值传递时,调用函数时会...

C++中const修饰的成员函数

Asweallkonw,const能够用来修饰变量,那么const是否能用来修饰对象呢?关于这一点,我们可以做一个小实验,实验一下: #include<stdio.h> #include<stdlib.h> classDog{ private: intfoot; intear...

详解ES6中的代理模式——Proxy

什么是代理模式 代理模式(英语:ProxyPattern)是程序设计中的一种设计模式。 所谓的代理者是指一个类别可以作为其它东西的接口。代理者可以作任何东西的接口:网络连接、内存中的大对象、文件或其它昂贵或无法复制的资源。 著名的代理模式例子为引用计数(英语:referencecounting)指针...

ES6 Proxy如何在JavaScript中使用

ES6Proxy如何在JavaScript中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。为函数添加特定的功能 * 为异步函数添加自动超时功能  * @param timeout...

vscode es6语法报错怎么办

这篇文章给大家分享的是有关vscodees6语法报错怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vscodees6语法报错  用VSCode开发ES6语法的项目,Promise等关键字和语法不识别,报错。解决方法:在项目根目录下建两个文件:.e...

es6中的三个点怎么用

这篇文章主要介绍了es6中的三个点怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 用法:1、合并数组,语法为“[...arr1,...arr2]”;2、拷贝数组对象,语法为“name=[...数组对象]”;3、字符串转字符数组,...

es6中三个点指的是什么意思

这篇文章给大家分享的是有关es6中三个点指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在es6中,三个点“...”指的是“扩展运算符”,可以在函数调用或数组构造时,将数组表达式或者string在语法层面展开;也可以在构造字面量对象时将对象表达式按照“key...

箭头函数的定义与调用

(前端小白)最近在看es6语法,所以简单的做下笔记,记下箭头函数的定义与调用方式 1.无参数的箭头函数 consttest=()=>1 相当于 functiontest(){ return1 } 2.有参数的箭头函数 consttest=(x,y)=>x+y 相当于functiontes...