iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >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://www.lsjlt.com/news/325275.html(转载时请注明来源链接)

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

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 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+
      2022-11-13
    • JavaScript的let和const关键词怎么用
      本篇内容主要讲解“JavaScript的let和const关键词怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript的let和const关键...
      99+
      2022-10-19
    • JavaScript ES的let与const关键字怎么使用
      这篇文章主要讲解了“JavaScript ES的let与const关键字怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript ES的let与cons...
      99+
      2023-06-21
    • ES6的let和const命令怎么用
      今天小编给大家分享一下ES6的let和const命令怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. let 命令①...
      99+
      2023-06-17
    • es6中怎么用关键字let声明变量
      小编给大家分享一下es6中怎么用关键字let声明变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用关键字let声明变量let&...
      99+
      2022-10-19
    • es6中怎么用关键字const声明变量
      这篇文章主要为大家展示了“es6中怎么用关键字const声明变量”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中怎么用关键字const声明变量”这篇文章吧...
      99+
      2022-10-19
    • C++中引用和const关键字怎么用
      今天小编给大家分享一下C++中引用和const关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。引用下面的写法定义了...
      99+
      2023-06-29
    • C++11关键字const怎么使用
      本篇内容主要讲解“C++11关键字const怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11关键字const怎么使用”吧!一、历史按理来说,要想了解一件事物提出的原因,最好的办法...
      99+
      2023-06-25
    • C语言中的Const关键字怎么用
      这篇“C语言中的Const关键字怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中的Const关键字怎么用”文章吧...
      99+
      2023-06-29
    • C语言关键字const与volatile怎么用
      今天小编给大家分享一下C语言关键字const与volatile怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、con...
      99+
      2023-06-30
    • es6中super关键字怎么用
      这篇文章主要为大家展示了“es6中super关键字怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中super关键字怎么用”这篇文章吧。具体如下:su...
      99+
      2022-10-19
    • es6中怎么用关键字import声明变量
      小编给大家分享一下es6中怎么用关键字import声明变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用关键字import声明...
      99+
      2022-10-19
    • es6中怎么用关键字class声明变量
      小编给大家分享一下es6中怎么用关键字class声明变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用关键字class声明变量...
      99+
      2022-10-19
    • es6中怎么用关键字function声明变量
      这篇文章主要介绍了es6中怎么用关键字function声明变量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用关键字function声明变量...
      99+
      2022-10-19
    • es6中怎么用关键字var声明变量
      这篇文章将为大家详细讲解有关es6中怎么用关键字var声明变量,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。用关键字var声明变量var a ;  /...
      99+
      2022-10-19
    • Java的this和super关键字怎么用
      本文小编为大家详细介绍“Java的this和super关键字怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java的this和super关键字怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、“ t...
      99+
      2023-06-30
    • python生成器和yield关键字怎么用
      这篇文章主要介绍了python生成器和yield关键字怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。下列代码用于先体验普通列表推导式和生成器的差别:# def...
      99+
      2023-06-26
    • c++中的volatile和variant关键字怎么用
      这篇文章主要讲解了“c++中的volatile和variant关键字怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c++中的volatile和variant关键字怎么用”吧!一、两个长...
      99+
      2023-06-29
    • C语言的auto和register关键字怎么用
      这篇文章主要介绍“C语言的auto和register关键字怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言的auto和register关键字怎么用”文章能帮助大家解决问题。一、关键字分类C...
      99+
      2023-06-30
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作