const、let、var区别

news/2024/7/11 1:44:10 标签: javascript, 开发语言, ecmascript, es6

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.niftyadmin.cn/n/429343.html

相关文章

【GitLab】-HTTP Basic: Access denied.remote:You must use a personal access token

写在前面 本文简要说明GitLab配置accessToken以及双因子认证(Two-factor authentication)。 目录 写在前面一、场景描述二、具体步骤1.环境说明2.配置accessToken3.克隆项目4.双因子认证 三、参考资料写在后面 一、场景描述 在使用账号和密码的方式拉取公…

[Swift 开发] 数组线程安全 Actors

引言 随着移动应用和服务的复杂性不断增加,处理并发操作变得越来越重要。在 Swift 5.5 中引入了一个全新的特性,即 Swift Actor(角色),它为我们提供了一种简单且安全的并发编程模型。本篇博客将深入探索 Swift 中的 A…

Springboot Apollo配置yml

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

新买的电脑怎么用U盘重装系统?新买的电脑用U盘重装系统教程

新买的电脑怎么用U盘重装系统?用户新买了电脑,想知道怎么用U盘来重装新买的电脑,用U盘来重装电脑其实非常简单,用户需要准备一个U盘,然后完成U盘启动盘的安装,接着按照以下分享的新买的电脑用U盘重装系统教…

2023.6.8-TS-yum update集群后奔溃故障(已解决)

2023.6.8-TS-yum update集群后奔溃故障(已解决) 1、故障背景 自己在安装falco软件时,使用yum update升级了系统后,就出现这个情况了。。。 2、报错现象 kubeclt无法查看pod kubectl get poE0608 09:38:49.094714 2268 memcache.go:265] couldnt ge…

pyspark安装教程

pyspark安装教程 一、Windows下配置pyspark环境1.1 JDK下载安装1.2 Scala下载安装1.3 spark下载安装1.4 Hadoop下载安装1.5 pyspark下载安装 二、pyspark原理简介 一、Windows下配置pyspark环境 在python中使用pyspark并不是单纯的导入pyspark包就可以实现的,而是需…

TypeScript知识汇总

一、ts简介 1、什么是ts 2、ts增加了什么 二、TypeScript开发环境搭建 注:如果npm i运行报错,需要以管理员身份运行一次,以上主要就是tsc xxx.ts 三、ts的基本类型——ts相当于是给js可以指定类型 //number、string、boolean等常用类型&am…

梳理Retrofit的知识体系

作者:RainyJiang 在学习Retrofit后,由于它本身就是OKHttp的封装,面试中也经常会被一起问到;单纯的解析它的源码学习难免会有点无从下手,往往让人抓不住重点,学习效率并不是很高,本文从提出几个问…