javascript中const/let/var的用法区别及使用场景

boyanx2周前技术教程4

给大家建议使用的优先级:const > let > var

首先const声明常量的好处,一是阅读代码的人立刻会意识到不应该修改这个值,

二是防止了无意间修改变量值所导致的错误,另外其实js编译器也对const进行了优化,可以提高代码的执行效率;

另外let声明的变量没有预编译和变量升级的问题,先声明再使用其实更为规范,而let本身是一个块级作用域,很多时候我们在写代码的时候都希望变量在某个代码块内生效,也更为方便。


最后说一点就是使用的场景说明:let一般应用于基本数据类型;const 一般应用于引用数据类型,也就是函数对象等。

A,var定义变量的一些特点:

1、var定义的变量会预解析,简单的说就是如果变量没有定义就直接使用的话,JavaScript回去解析这个变量,代码不会报错,只会输出undefined

2、var定义的变量可以反复去定义,当然后面的会覆盖前面的

3、var在循环中使用的时候,循环体外依然可以使用

4、在循环绑定事件过程中,var定义的变量无法保存,循环会在瞬间执行完


B、let声明的变量的特点

1、let定义的变量不会预解析,必须先声明再使用,否则会报错

2、let不能定义已经定义过的变量(无论之前是用var定义的还是let或者const定义的)

3、let是块级作用域,函数内部使用let定义后,对函数外部无影响,简单说就是在一个{}里面生效

4、由于let是块级作用域,在循环绑定事件过程中let会在这个循环中生效,再次循环时let会重新定义生效


C、const声明的变量的特点:

1、const定义的变量不会预解析,必须先声明再使用,否则会报错

2、const定义的变量不允许修改

但在数组里面,const的值是允许被修改的,这是因为const存储的是地址,值的内容可以变化

相关文章

Web前端:React JS越来越受欢迎,它的主要优点为什么要使用它?

  React JS是一个开源JavaScript库,用于为单页应用程序构建用户界面,它还为不同的移动应用程序提供视图层,并创建可重用的UI组件。  我们可以在Web应用程序的数据中创建特定的更改,而...

Google的Dart编程语言即将登陆服务器

几天前的I/O开发者大会上,Google悄然宣布,正在努力工作让其Dart编程语言尽快登陆App Engine。这一实现的基础源于该公司最近推出的管理虚拟机以及该服务的定制运行环境支持。然而,由于定制...

Node.js 原生支持 TypeScript?开发者需要了解的一切

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!随着 Node.js v23.6.0 的发...

Next.js 15 来了,全新的编译器、700倍的构建速度提升

Next.js 15 来了,让全栈Web应用开发变得比以往任何时候都更简单高效!全新的编译器、700倍的构建速度提升,创建高性能的全栈Web应用从未如此轻松。让我们一起来探索一下 v15 的最新特性:...

JS严格模式:更安全、更高效的代码实践

在JavaScript开发中,严格模式(Strict Mode)是一个非常重要的特性。它从ES5开始引入,旨在让JavaScript代码运行在更严格的条件下,从而提高代码的安全性和性能。本文将详细介绍...

Scala.js:将Scala编译为JavaScript

Scala.js是一款将Scala代码编译为JavaScript代码的编译器,该编译器支持全部Scala语言特性。借助于Scala.js,开发者能够使用Scala开发从前端到后端的Web应用,而且Sc...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。