返回顶部
首页 > 资讯 > 精选 >ES6新增关键字let和const怎么用
  • 486
分享到

ES6新增关键字let和const怎么用

2023-06-29 14:06:38 486人浏览 泡泡鱼
摘要

这篇文章主要介绍了es6新增关键字let和const怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ES6新增加了两个重要的javascript关键字:let和const

这篇文章主要介绍了es6新增关键字let和const怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    ES6新增加了两个重要的javascript关键字:let和const

    一、let关键字

    let声明的变量只在let命令所在的代码块内有效。

    1、基本语法

    let a='123'

    2、let和var的区别

     var也是用来声明变量,let和var有什么区别呢?区别主要是以下三点:

    2.1、同一作用域内let不能重复定义同一个名称,var可以重复定义

    看下面的例子:

    // 同一个作用域内let不能重复定义同一个名称let a='123';let a='456'; // 错误// var可以重复定义var a=10;var a=20;
    2.2、两者作用域不同

    let属于块级作用域,只在当前块内有效。

    var属于全局作用域。

    看下面的示例:

    <!DOCTYPE html><html><head>        <meta Http-equiv="Content-Type" content="text/html; charset=utf-8" />        <title>ES6</title>        <meta charset="utf-8" />        <script>            window.onload=function(){                // 同一个作用域内let不能重复定义同一个名称                // let a='123';let a='456'; // 错误                // var可以重复定义                var a=10;                var a=20;                // 有着严格的作用域,变量隶属于当前作用域                // let块级作用域{},var函数作用域                function testVar(){                    if(true){                        var str='123';                    };                    console.log(str);                }                // 调用函数                testVar(); // 输出123                // 定义函数                function testLet(){                    if(true){                        let str1='456';                    }                    console.log(str1);                };                // 调用函数                testLet(); // 报错            }        </script></head></html>

    效果:

    ES6新增关键字let和const怎么用

    打印str1的时候会报错,因为超出了str1的作用域。

    2.3、不存在变量提升

    var声明的变量存在变量提升,即可以在变量声明之前就使用该变量,值为undefined;而let不存在变量提升,必须先声明变量才能使用。看下面的例子:

    <!DOCTYPE html><html><head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />        <title>ES6</title>        <meta charset="utf-8" />        <script>            window.onload=function(){                // 1、同一个作用域内let不能重复定义同一个名称                // let a='123';let a='456'; // 错误                // var可以重复定义                // var a=10;                // var a=20;                // 2、有着严格的作用域,变量隶属于当前作用域                // let块级作用域{},var函数作用域                function testVar(){                    if(true){                        var str='123';                    };                    //console.log(str);                }                // 调用函数                testVar(); // 输出123                // 定义函数                function testLet(){                    if(true){                        let str1='456';                    }                    console.log(str1);                };                // 调用函数                //testLet(); // 报错                //3、不存在变量提升                // var命令会发生‘变量提升'(可以在声明前使用,值为undefined)                // let不存在变量提升                console.log(a); // undefined                var a=12;                console.log(b); // 报错:b is not defined                let b='123';            }        </script></head></html>

     效果:

    ES6新增关键字let和const怎么用

    二、const

    const与let的相同点:都是块级作用域。

    不同点:const声明的是一个只读的常量,声明之后就不允许改变。意味着,声明的同时必须初始化。看下面的例子:

    const pi='3.1415926';pi='3.1415927'

    查看控制台结果:

    ES6新增关键字let和const怎么用

    声明的同时必须初始化,看示例:

    <!DOCTYPE html><html><head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />        <title>ES6</title>        <meta charset="utf-8" />        <script>            window.onload=function(){                // 1、同一个作用域内let不能重复定义同一个名称                // let a='123';let a='456'; // 错误                // var可以重复定义                // var a=10;                // var a=20;                // 2、有着严格的作用域,变量隶属于当前作用域                // let块级作用域{},var函数作用域                function testVar(){                    if(true){                        var str='123';                    };                    //console.log(str);                }                // 调用函数                testVar(); // 输出123                // 定义函数                function testLet(){                    if(true){                        let str1='456';                    }                    console.log(str1);                };                // 调用函数                //testLet(); // 报错                //3、不存在变量提升                // var命令会发生‘变量提升'(可以在声明前使用,值为undefined)                // let不存在变量提升                // console.log(a); // undefined                // var a=12;                // console.log(b); // 报错:b is not defined                // let b='123';                // const 只读常量                // 相同:与let都是块级作用域                // const pi='3.1415926';                // pi='3.1415927' // 不允许修改                const b; // 错误:声明的时候必须初始化            }        </script></head></html>

    控制台结果:

    ES6新增关键字let和const怎么用

    注意:

    const 如何做到变量在声明初始化之后不允许改变的?其实 const 其实保证的不是变量的值不变,而是保证变量指向的内存地址所保存的数据不允许改动。此时,你可能已经想到,简单类型和复合类型保存值的方式是不同的。是的,对于简单类型(数值 number、字符串 string 、布尔值 boolean),值就保存在变量指向的那个内存地址,因此 const 声明的简单类型变量等同于常量。而复杂类型(对象 object,数组 array,函数 function),变量指向的内存地址其实是保存了一个指向实际数据的指针,所以 const 只能保证指针是固定的,至于指针指向的数据结构变不变就无法控制了,所以使用 const 声明复杂类型对象时要慎重。

    <!DOCTYPE html><html><head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />        <title>ES6</title>        <meta charset="utf-8" />        <script>            window.onload=function(){                // 1、同一个作用域内let不能重复定义同一个名称                // let a='123';let a='456'; // 错误                // var可以重复定义                // var a=10;                // var a=20;                // 2、有着严格的作用域,变量隶属于当前作用域                // let块级作用域{},var函数作用域                function testVar(){                    if(true){                        var str='123';                    };                    //console.log(str);                }                // 调用函数                testVar(); // 输出123                // 定义函数                function testLet(){                    if(true){                        let str1='456';                    }                    console.log(str1);                };                // 调用函数                //testLet(); // 报错                //3、不存在变量提升                // var命令会发生‘变量提升'(可以在声明前使用,值为undefined)                // let不存在变量提升                // console.log(a); // undefined                // var a=12;                // console.log(b); // 报错:b is not defined                // let b='123';                // const 只读常量                // 相同:与let都是块级作用域                // const pi='3.1415926';                // pi='3.1415927' // 不允许修改                // const b; // 错误:声明的时候必须初始化                // 数组                const arr=[];                arr.push('123');                console.log(arr);                // 对象                const obj={};                obj.name='abc';                console.log(obj);            }        </script></head></html>

    控制台结果:

    ES6新增关键字let和const怎么用

    感谢你能够认真阅读完这篇文章,希望小编分享的“ES6新增关键字let和const怎么用”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

    --结束END--

    本文标题: ES6新增关键字let和const怎么用

    本文链接: https://lsjlt.com/news/325275.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • ES6新增关键字let和const怎么用
      这篇文章主要介绍了ES6新增关键字let和const怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ES6新增加了两个重要的JavaScript关键字:let和const...
      99+
      2023-06-29
    • ES6新增关键字let和const介绍
      目录一、let关键字1、基本语法2、let和var的区别2.1、同一作用域内let不能重复定义同一个名称,var可以重复定义2.2、两者作用域不同2.3、不存在变量提升二、const...
      99+
      2024-04-02
    • JavaScript的let和const关键词怎么用
      本篇内容主要讲解“JavaScript的let和const关键词怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript的let和const关键...
      99+
      2024-04-02
    • 基于JavaScriptES新特性let与const关键字
      目录1.let关键字 1.1基本用法 1.2不存在变量提升 1.3暂时性死区 1.4不允许重复声明 1.5与函数的关系 2.const关键字 2.1基础用法 1.let关键字 1....
      99+
      2024-04-02
    • ES6的let和const命令怎么用
      今天小编给大家分享一下ES6的let和const命令怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. let 命令①...
      99+
      2023-06-17
    • JavaScript ES的let与const关键字怎么使用
      这篇文章主要讲解了“JavaScript ES的let与const关键字怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript ES的let与cons...
      99+
      2023-06-21
    • es6中怎么用关键字let声明变量
      小编给大家分享一下es6中怎么用关键字let声明变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用关键字let声明变量let&...
      99+
      2024-04-02
    • es6中怎么用关键字const声明变量
      这篇文章主要为大家展示了“es6中怎么用关键字const声明变量”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中怎么用关键字const声明变量”这篇文章吧...
      99+
      2024-04-02
    • ES6 关键字 let 和 ES5 及关键字 var 的区别解析
      目录var 关键字let 关键字补充var 关键字 在 ES5 及以前,通过var在块级作用域中声明的变量,外边也可以访问。块级作用域就是一对{}的作用域;块级作用域可以是控制语句的...
      99+
      2024-04-02
    • ES6中let和const命令有什么用
      这篇文章将为大家详细讲解有关ES6中let和const命令有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言在javascript中,我们都知道使用var来声明变...
      99+
      2024-04-02
    • C++中引用和const关键字怎么用
      今天小编给大家分享一下C++中引用和const关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。引用下面的写法定义了...
      99+
      2023-06-29
    • ES6 let和const中怎么定义变量与常量
      ES6 let和const中怎么定义变量与常量,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。关于 letlet是小作用域的变量的声明{ &...
      99+
      2024-04-02
    • C++11关键字const怎么使用
      本篇内容主要讲解“C++11关键字const怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11关键字const怎么使用”吧!一、历史按理来说,要想了解一件事物提出的原因,最好的办法...
      99+
      2023-06-25
    • es6中super关键字怎么用
      这篇文章主要为大家展示了“es6中super关键字怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中super关键字怎么用”这篇文章吧。具体如下:su...
      99+
      2024-04-02
    • C++中引用和const关键字介绍
      目录引用常引用const关键字用法1)定义常量2)定义常量指针3)定义常引用总结引用 下面的写法定义了一个引用,并将其初始化为引用某个变量。类型名 & 引用名 = 某变量名;...
      99+
      2024-04-02
    • javascript的let和const命令怎么使用
      本篇内容介绍了“javascript的let和const命令怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!let命令基本用法我们都知...
      99+
      2023-07-02
    • C语言中的Const关键字怎么用
      这篇“C语言中的Const关键字怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中的Const关键字怎么用”文章吧...
      99+
      2023-06-29
    • C语言关键字const与volatile怎么用
      今天小编给大家分享一下C语言关键字const与volatile怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、con...
      99+
      2023-06-30
    • Linq 中LET关键字的作用是什么
      今天就跟大家聊聊有关Linq 中LET关键字的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。LINQ是Language Integrated Query (语言集成查询)。...
      99+
      2023-06-17
    • java中const关键字的作用是什么
      在Java中,const并不是一个关键字,而是一个保留字,表示常量(constant)的意思。在Java中,我们可以使用final关...
      99+
      2023-09-05
      java const
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作