const、let、var区别

news2024/11/16 21:43:31

const、let、var区别

  • 0、前言
  • 1、区别
  • 2、示例
    • 2.1 提前调用报错
    • 2.2 const与 let 定义的变量不能重复
    • 2.3 const与 let定义的变量如果在{}中只能在{}中调用
    • 2.4 const定义的变量不能重复赋值。

0、前言

let和const是ES6新增的声明变量的关键词,之前声明变量的关键词是var。

1、区别

声明方式变量提升暂时性死区重复声明初始值作用域
var允许不存在允许不需要非块级
let允许存在不允许不需要块级
const不允许存在不允许需要块级

★ var声明的变量存在变量提升(将变量提升到当前作用域的顶部)。即变量可以在声明之前调用,值为undefined。let和const不存在变量提升。即它们所声明的变量一定要在声明后使用,否则报ReferenceError错。
★ let和const存在暂时性死区。即只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。
★ var允许重复声明变量。let和const在同一作用域不允许重复声明变量。
★ const定义的变量不可以进行修改,而且定义时一定要初始化,而let和var声明的变量不用。
★ let、const声明的变量仅在块级作用域内有效,var 声明变量是全局的,没有块级作用域功能

2、示例

2.1 提前调用报错

代码如下:

// 提前调用 预解析
console.log(num1)
// // 提前调用 结果是报错
console.log(num2)

// var 定义的变量 
var num1 = 100
let num2 = 200;

效果如下:
在这里插入图片描述

2.2 const与 let 定义的变量不能重复

代码如下:

// var 定义的变量 
var num1 = 100
let num2 = 200

// 变量名称重复 重复赋值效果
var num1 = '北京'
console.log(num1)

// 变量名称重复 结果是报错
let num2 = '杭州';

效果如下:
在这里插入图片描述

2.3 const与 let定义的变量如果在{}中只能在{}中调用

代码如下:

// 在 {} 中 使用 let 定义变量 只能在 {} 中 使用
// 如果需要在 {} 中 对 let 定义的变量 进行操作 
// 提前定义 变量 在 {} 中 进行赋值操作
if (true) {
	var a = 300
	let b = 400
	// let 声明的变量 在 {} 中可以调用
	// 对 {} 外定义的变量 进行赋值操作
	console.log(b)
}

console.log(a)

// let 声明的变量 在 {} 外 不能调用 
console.log(b);

效果如下:
在这里插入图片描述

2.4 const定义的变量不能重复赋值。

代码如下:

// const 定义的变量 不能重复赋值
const c = 10
c = 100
// 结果是报错

效果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/642375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot+mybatis教务管理系统

项目介绍 主要功能: 这个项目是一个教务管理系统,其中有三种角色:管理员,教师,学生 管理员权限: 管理员:对课程、学生信息、教师信息等进行增删改查,修改个人密码,修改学…

服务日志性能调优,由log引出的巨坑

只有被线上服务问题毒打过的人才明白日志有多重要! 谁赞成,谁反对?如果你深有同感,那恭喜你是个社会人了:) 日志对程序的重要性不言而喻,轻巧、简单、无需费脑,程序代码中随处可见…

新项目之初性能测试工作如何前移?

最近刚接手一个新项目,在最开始的时候要求对这个项目做性能测试,产品经理也给不出性能需求,只因为这个项目是电商项目,可能会有高并发,秒杀的场景,所以产品经理要求我们对这个项目必须做性能测试&#xff0…

Linux内核中内存管理相关配置项的详细解析16

接前一篇文章:Linux内核中内存管理相关配置项的详细解析15 三十五、Data Access Monitoring 此项展开后如下图所示: “DAMON: Data Access Monitoring Framework”项默认不选中。如果将其选中,则页面变为: 1. DAMON: Data Access…

关于 vue2 后台管理系统构建 vue2+mock.js 的经典案例

一,初识 Mock.js 1.什么是 mock.js: 主要是模拟数据生成器,可以生成随机数据,拦截器 Ajax 请求 2.为什么要使用 mock.js 由于很多学生在学习过程中,后端还没有做好接口,写好接口文档,有了mock.js 前端就…

2023VALSE目标跟踪相关的Poster

前沿:本博文分享了2023 中国无锡举办的VALSE 中与目标跟踪相关的Poster。 1. Weakly Alignment-Free RGBT Salient Object Detection With Deep Correlation Network IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 31, 20 摘要:RGBT显著性目标检测&am…

Linux5.4 Mysql数据库初体验及管理

文章目录 计算机系统5G云计算第四章 LINUX Mysql数据库初体验及管理一、数据库相关概念1. 数据 (Data)的概念2.表的概念3.数据库的概念4.数据库管理系统5.数据库系统 二、数据库的发展1.第一代数据库2.第二代数据库3.第三代数据库 三、主流的数据库介绍四、关系数据库1.概念2.E…

最强Postman替代品,国产软件Apifox到底有对牛?

目录 前言: 接口管理现状 一、常用解决方案 二、存在的问题 Apifox 解决方案 一、如何解决这些问题 二、Apifox 做的不仅仅是数据打通 三、后续功能规划 四、更多 Apifox 功能截图 前言: Apifox是一款国产的API接口管理工具,可以帮…

Linux之用户组管理

目录 Linux之用户组管理 创建用户组 --- groupadd命令 语法格式 参数及作用 案例 添加/删除组成员 --- gpasswd命令 命令格式 参数及作用 案例 修改用户组属性 --- groupmod命令 语法格式 参数及作用 案例 删除组账户 --- groupdel命令 语法格式 案例 用户和组…

ASP.NET实验室信息管理系统源码 LIMS系统源码

ASP.NET实验室信息管理系统源码 LIMS系统源码 lims 实验室信息管理系统(LIMS)。它是由计算机硬件和应用软件组成,能够完成实验室数据和信息的收集、分析、报告和管理。 LIMS实验室信息管理系统专门针对实验室的整体环境而设计,以…

两个链表相加

描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。 给定两个这种链表,请生成代表两个整数相加值的结果链表。 数据范围:0≤n,m≤1000000,链表任意值 0≤val≤9 要求:空间复杂度 O(n)…

Docker使用记录

文章目录 Docker基本使用Docker配置查看状态卸载安装使用 apt 存储库安装在 Ubuntu 上安装 Docker 桌面(非必要) Docker实例使用现有的镜像查找镜像拖取镜像列出镜像列表更新镜像导出镜像删除镜像导入镜像清理镜像查看容器导出容器导入容器-以镜像的方式创建容器重启容器进入容…

Springboot Apollo配置yml

1.背景: 项目都是配置的Apollo配置中心来进行配置的。新功能需要yml格式的数据(层级结构更清晰) 2.问题: 1)Apollo是否支持yml格式的配置信息? 2)配置好了以后读取不到Apollo配置的yml。 3…

平心而论,做电商数据分析还得这款大数据分析平台

各个业务系统上的数据能放一起分析了吗?根据物流周期做好库存计划了吗?广告投入分析评估报表出来吗?运营、物流、财务等部门环节间的信息脱节解决了吗?做电商数据分析不仅仅是做一两个销售分析报表,而是要综合各个部门…

vue3 - 内置组件Teleport的使用

<Teleport> 是一个内置组件&#xff0c;它可以将一个组件内部的一部分模板“传送”到该组件的 DOM 结构外层的位置去。 1&#xff0c;使用场景&#xff1a; 一个组件模板的一部分在逻辑上从属于该组件&#xff0c;但从整个应用视图的角度来看&#xff0c;它在 DOM 中应该…

Python网络爬虫使用教程

文章目录 一、URL资源抓取1.urllib2.requests3.requests-html二、正则表达式三、数据解析1.Beautiful Soup2.lxml3.selectolax四、自动化爬虫selenium五、爬虫框架1.Scrapy2.pyspider框架六、模拟登录与验证码识别七、autoscraper&#xff08;不需要编程基础&#xff09; 一、U…

小鱼深度产品测评之:阿里云新款通用算力型ECS云服务器Universal实例,实力与能力并存的一款产品。

ECS U实例评测 1、引言2、购买流程3、向导展示4、实例4.1 创建实例4.2 迁移上云4.3 查询功能4.3.1 下拉框选项4.3.2 查询结果保存 4.4 默认定位4.5 分组4.6 监控4.6.1 查看监控大盘4.6.2 自定义报警规则4.6.3 一键报警 4.7 列表操作4.7.1 资源变配4.7.2 远程链接4.7.3 续费 4.8…

深入探究测试用例设计的底层逻辑

测试用例是每位测试人员都绕不开的话题&#xff0c;也是大家习以为常的事情。几乎所有测试相关的公众号、博客、专栏&#xff0c;都会提及测试用例&#xff0c;由此可见它的重要性。但是&#xff0c;有许多从业者&#xff0c;对测试用例的设计仍然依靠经验积累&#xff0c;即使…

达梦8命令行方式安装创建数据库

在实际生产环境中&#xff0c;有很多linux服务器并没有安装桌面&#xff0c;无法调用图形化界面来安装、创建和配置数据库。下面讲解在linux操作系统中&#xff0c;以命令行的形式创建、安装、启动DM8数据库。 一、命令行安装数据库软件 1.用root账号将数据库安装包dm8_setup…

DJ4-3 动态分区分配算法

目录 一、基于顺序搜索的分配算法 1、最佳适应算法&#xff08;BF&#xff09; 2、最坏适应算法&#xff08;Worst fit&#xff0c;WF&#xff09; 3、首次适应算法&#xff08;First Fit&#xff0c;FF&#xff09; 4、下次适应算法&#xff08;Next fit&#xff0c;NF&a…