es6学习笔记1 --let以及const

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6学习笔记1 --let以及const相关的知识,希望对你有一定的参考价值。

let语句的基本用法:

 1.let声明的变量为块级作用域,只在最近的{}里面有效,如果在外部引用就会报错。

{
    let a = 10;
    var b = "hello"
}
 
alert( a ) //报错
alert( b ) // "hello"

  正是由于该特性,所以let语句十分适合用于循环语句中,用于定义局部变量。

  2.不会进行变量定义提前处理。在js语句中,通过var定义的变量存在变量声明提前的情况。就是在变量声明之前可以进行使用,但是这时该提前使用的变量值是undefined。而通过let定义的变量就不会存在该情况,如果在声明之前进行使用则会报错。该种情况也被叫做“暂时性死区”--在let定义之前不能进行任何有关该变量的操作,不然就会报错。

console.log(a) //undefinded
console.log(b) //error

var a = 10;
let b = "py";

  3.不能进行重复声明。即在同一个块级作用域内,let声明的变量不能和其他变量同名,就算是通过var定义的变量也不行。

function (c){
        let a = "py"; // 错误
        var a = "py";
       
        let b = 10; //错误
        let b = 11;

        let c = 12; //错误
}

const命令基本用法:

   1.const声明变量为常量,一经赋值之后就不能被修改。但是假如const声明的对象是复合类型对象,那么变量指向的是对象地址而不是数据,所以只要对象地址不发生改变,对象的属性可以变化。

const PI = 3.14
PI = 3
consol.log(PI) //在非严格模式下PI的值还是3,在严格模式下则会报错

const  obj = {}
obj.name = "py"; 
console.log(obj.name) //py
obj = {} //报错

  2.同let语句一样,const语句也具有块级作用域,声明不提前,不可重复声明的特性。

  3.跨模块常量的声明和引用。通过import和export关键字来进行声明和引用处理。

// a.js
export const NAME = "py"
export const AGE = 25
export const SEX = "boy"

//b.js
import * as constants from “./a"; // 路径要对
console.log(constants.NAME) // py

//c.js
import {AGE,SEX } from "./a"
console.log(AGE) // 25
console.log(SEX) // boy

 

    

以上是关于es6学习笔记1 --let以及const的主要内容,如果未能解决你的问题,请参考以下文章

es6学习笔记1

es6学习笔记

Es6 学习笔记数组扩展

es6学习笔记

ES6学习笔记

es6 学习笔记