资讯专栏INFORMATION COLUMN

let&const命令

jeffrey_up / 3376人阅读

摘要:命令代码块有效不存在变量提升全局同时使用声明变量不存在变量在父级作用域变量在子级作用域且绑定此作用域,不再受外部影响次暂时性死区暂时性死区,解决先定义在使用暂时性死区未被定义存在,即绑定该作用域,在声明之前不可用缺少值结束结束暂时性死区命令

let 命令
/*
*  let 代码块有效 不存在变量提升
* */

  // let i = "全局";
    var i = "va";//同时使用var let /let let/ 声明i变量 Identifier "i" has already been declared   /var var不存在

    for(let i = 0; i<3; i++){  //i变量在父级作用域
        console.log(i);//1,2,3
    }

    for(let i = 0; i<3; i++){
        let i = "abc"; // i 变量在子级作用域 且绑定此作用域,不再受外部影响
        console.log(i);//abc 3次
    }
    console.log(i);
    // 
暂时性死区
{
/*
* 暂时性死区,
* 解决:先定义在使用
*/
// tmp = "TDZ" //ReferenceError: not defined => 暂时性死区
    // console.log(tmp);   //ReferenceError: not defined => 未被定义
    let tmp ;   // let存在,即绑定该作用域,tmp在let声明之前不可用
    console.log(tmp); //undefined => 缺少值
    tmp = "TDZ 结束";
    console.log(tmp); //TDZ 结束
    // 暂时性死区  =>
}
typeof命令 数据类型
{
  console.log(
        typeof (123), //number
        typeof ("123"), //string
        typeof (x), //not defined
        typeof (true),//boolean
        typeof ({}), //object
        typeof (function () { //function
            return 123;
        })
    )
    let x; 
    console.log(typeof (x)) // undefined
    }
{
    /*
    * 块级作用域内声明函数,在支持es6的浏览器中会报错
    * 在最顶级作用域中声明函数/ 函数表达式 禁用函数声明语句
    * */
        function f() {
            console.log("123");
        }
        (function () {
            if(false){
                function f() {
                    console.log("===========");
                }
                // f();
            };
            console.log(f); //undefined 变量提升
            f();
        })();
    }
const 命令
    {
        /*
         * const 声明常量 不可变
         * 指向内存地址 
         * */
        const ttt = "常量";
        // ttt = "变量";//Assignment to constant variable.
        // console.log(ttt);
        // const obj = {};
        const obj = {}; //同时声明两个相同的对象 Identifier "obj" has already been declared
        obj.name = "name";
        console.log(obj);
    }
块级作用域任意嵌套
{
    /*
* 块级作用域任意嵌套
*支持es6的浏览器,块级作用域内函数声明提前
* */
    {
        let abc = "abcd";
        console.log(abc);
        {
            let abc = "12374"
            console.log(abc)
        }
    }
    
    /*
    * es6中声明变量的六种方法
    * var   let function const class import
    * */
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100025.html

相关文章

  • JS中letconst命令如何使用

      本篇文章主要讲述JS中let与const命令使用,通过代码展示给各位。  let命令  基本使用  在ES6中,let命令是新增的声明变量,与var的差异在于let无法重复声明,且let有效只是在其命令的代码块内,let禁止变量出现变量提升现象,let的特点就是通过暂时性死区的方式来避免程序上的错误  代码块:使用{}包括起来的内容  声明变量:分配一个存储空间  不可重复声明:let声明过后...

    3403771864 评论0 收藏0
  • ES6笔记之 let &amp;&amp; const

    摘要:声明的变量只在其所在的代码块内有效。只要在声明之前使用这些变量,就会报错。在语法上称为暂时性死区有时候,会不经间遇到比较隐蔽的死区,不太容易被发现。不允许重复声明不允许在相同的作用域内声明同一个变量。一旦声明,其值就不能再改变。 let && const let let声明的变量只在其所在的代码块内有效。 { let a = 10; } console.log(a) //R...

    aristark 评论0 收藏0
  • let&amp;const

    摘要:资料参考是阮一峰老师写的教程命令新增的命令,使用来声明变量的,就像一样,但是声明的变量只在所在的代码块中有效。凡是在声明之前使用这个变量都会报错块级作用域中拥有全局作用域和函数作用域,添加了块级作用域。 资料参考是阮一峰老师写的ES6教程 let&const命令 let ES6新增的let命令,使用来声明变量的,就像var一样,但是声明的变量只在let所在的代码块中有效。 e.g { ...

    Karrdy 评论0 收藏0
  • 然并卵:BF 科普 &amp; BF 解释器的 JS 实现

    摘要:最近在上做练习,某道题的内容是实现一个简称语言解释器等等均可。这篇文章准备聊聊相关的一些知识和实现的细节。诞生于上世纪年代,曾运用于早期的,想详细了解的童鞋可以浏览维基百科。例如,当某个存储单元的值为时,其执行指令的结果为。 showImg(https://segmentfault.com/img/bVbfdnG?w=940&h=500); 最近在 Codewars上做练习,某道题的内...

    HackerShell 评论0 收藏0
  • vue项目接入mock&amp;&amp; axios 通用配置

    摘要:前言兵马未动粮草先行同理项目开发过程中经常会出现接口未出前端页面已搭建完毕的情况此时为了提高前端的开发效率解放生产力我们可以按照预定的接口文档做一些接口模拟的工作等等后端小伙伴开发完接口后我们只需要替换一个接口基地址即可初始准备这里已项目为 前言 兵马未动,粮草先行; 同理,项目开发过程中经常会出现接口未出, 前端页面已搭建完毕的情况;此时为了提高前端的开发效率,解放生产力,我们 FE...

    Ilikewhite 评论0 收藏0

发表评论

0条评论

jeffrey_up

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<