ES6 let const关键字

在es6中,引入了let和const关键字;

1、let
ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

(1)在块级作用域里有效(比如循环遍历内部就可以用let定义变量)

<script type="text/javascript">
    {
        let a = 10;
        var b = 1;
    }
    console.log(b);
    console.log(a);
</script>

报错:ReferenceError: a is not defined

(2)不能重复声明

<script type="text/javascript">
    {
        let a=0;
        let a=2;
    }
</script>

Uncaught SyntaxError: Identifier ‘a‘ has already been declared

(3)不存在变量提升

var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined

这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

<script type="text/javascript">
    console.log(a);//undefined
    var a=1
    console.log(b);// Uncaught ReferenceError: Cannot access ‘b‘ before initialization
    let b=1
</script>

2、const

const声明一个只读的常量。一旦声明,常量的值就不能改变。

<script type="text/javascript">
    const PI = 3.1415;
    PI = 3;
</script>

Uncaught TypeError: Assignment to constant variable.

原文地址:https://www.cnblogs.com/jnba/p/12196090.html

时间: 2024-08-01 00:04:58

ES6 let const关键字的相关文章

ES6中 const 关键字

const声明一个只读的常量.一旦声明,常量的值就不能改变. 定义后可以使用但不能修改 但是,const 定义的对象可能与我们想象的不太一样 定义了对象b ,我们可以在b上添加修改属性,再看一个列子 现在又不让修改了 如果想让对象变成不可变数据,可以使用Object.freeze 方法 原文地址:https://www.cnblogs.com/zhangtao1990/p/8283330.html

let 和 const 关键字

看了阮老师的ES6入门再加上自己的一些理解整理出的学习笔记 let关键字 跟var相比,不会提升为全局变量,始终是块级作用域{} 注意点: 1: 不能在同一个块级作用域内声明同名变量 2: (如果当前块级作用域内{}内部没有该变量的声明)向上级作用域查找,如果有声明,就只在本块级作用域中查找 let num = 1;if(true){console.log(num) //1} 3: 各个块级作用域内声明的变量是独立使用的,在更小的作用域内可以使用更大作用域的变量 let num =1 ; if(

let 关键字和 const 关键字

在 ES6 中,提供了 let 关键字和 const 关键字. let 的声明方式与 var 相同,用 let 来代替 var 来声明变量,就可以把变量限制在当前代码块中. 使用 const 声明的是常量,其值一旦被设定便不可被更改. let 允许你声明一个作用域被限制在块级中的变量.语句或者表达式.与var关键字不同的是,它声明的变量只能是全局或者整个函数块的. let 语法: let var1 [= value1] [, var2 [= value2]] [, ..., varN [= va

ES6学习之关键字

前言:什么是ES6?ECMAScript 6(简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.其中相比较于ES5新增了诸多的特性,并且ES6可转换为ES5的语法.->在线ES6转换为ES5工具. 本系列学习随笔参考了阮一峰老师的<ES6标准入门>. 一.let关键字 1.解决变量提升现象 我们在js中定义变量时,用var声明会出现这种情况: console.log(a); //不会报错,输出为undefined var a=1; 这就是js的变量提升现

C++ 类中的const关键字

//类中的const关键字 #include<iostream> using namespace std; class Point{ public: //这个const关键字本质上修饰的是this指针 int GetX() const //====>int GetX(const this) { //因为this被隐藏,所以const关键字只好写在函数后面 //x++; //加上const关键字 报错 error C3490: 由于正在通过常量对象访问“x”,因此无法对其进行修改 //这个

c语言const关键字

作者:沉默羔羊 c语言const关键字: --  特点. 使用该关键修饰的变量不能被改变.      --指针常量. demo:   const char *p或者是 char const * p --常量指针. demo: char * const p      --常量指针和指针常量. 1.常量指针指的是如 char * const p, p是一个常量,p不能改变指向. 2.指针常量指的是如char const *p,   p指向一个字符常量,p可以改变指向.但是不能改变*p. --对于常量

const关键字详解

const在函数前与函数后的区别 一   const基础         如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:         int   b   =   500;     const   int*   a   =   &b;              [1]     int   const   *a   =   &b;              [2]     int*   const   a   =   &b;              [3

c++中const关键字全面总结

一.const作用 1.const定义常量 注意:const只对它左边的东西起作用,唯一的例外就是const本身就是最左边的修饰符,那么它才会对右边的东西起作用. (1)const修饰变量,以下两种定义形式在本质上是一样的.它的含义是:const修饰的类型为TYPE的变量value是不可变的. TYPE const ValueName = value; const TYPE ValueName = value; (2)将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行初

详解C和C++中的const关键字

在讲下面的内容之前,要先看看这篇文章const.static变量的存储位置 一.C中的const 作用:(1)可以定义const常量,具有不可变性. (2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患. (3)可以避免意义模糊的数字出现,同样可以很方便地进行参数的调整和修改. 同宏定义一样,可以做到不变则已,一变都变! (4)可以保护被修饰的东西,防止意外的修改,增强程序的健壮性. 还是上面的例子,如果在函数体内修改了i,编译器就会报错: (5) 可以节省空间,避免不必要的内存