热门推荐
【js知识】const定义变量时的{} & 【ES6】中var、let、const的区别
2024-11-24 09:36  浏览:80

一、const定义变量时的{}

1、解构

从数组和对象中提取值,对变量进行赋值

【js知识】const定义变量时的{} & 【ES6】中var、let、const的区别

解构的语法

 
2、{} 所代表的的意思

1

 

2-es6语法糖

 
3、解构赋值的基本规则是

只要等号右边不是对象或数组,就先将其转换为对象。由于undefined和null无法转换为对象,所以对它们解构赋值都会报错。

二、【ES6】中var、let、const的区别

1、块级作用域{}

ES5 中作用域有:全局作用域、函数作用域。 ES6 中新增了块级作用域 块级作用域由{ }包括。if语句和for语句里面的{ }也属于块级作用域

 

通过var定义的变量可以跨块作用域访问到

 

通过var 定义的变量不能跨函数作用域访问到

 

if语句和for语句中用var 定义的变量可以在外面访问到

if语句和for语句属于块级作用域,不属于函数作用域

2、var、let、const的区别

在这里插入图片描述

1.var

作用 声明变量 特点

  • 函数作用域
  • 可以变量提升(预解析
  • 值可以更改
2.let

特点

  • let声明的变量只在所处于的块级有效 好处 : 可以防止循环变量变成全局变量 : (使用var就不会报错)
 
  • 不存在变量提升,不能重复声明
 
  • 暂时性死区 利用let声明的变量会绑定在这个块级作用域,不会受外界的影响
 
3.const

作用声明常量,常量就是值(内存地址)不能变化的量 常量:常态的量,值是常态的量,值无法改变

特点

  • 具有块级作用域
 
  • 声明常量时必须赋值
 
  • 常量赋值后,值不能修改,如果声明的是复合类型数据,可以修改其属性

​ const 用来定义常量,使用时必须初始化(即必须赋值,只能在块作用域里访问,而且不能修改;如果声明的是复合类型数据,可以修改其属性

 

注意 var 定义的变量,没有块的概念,可以跨块访问,不能跨函数访问

let 定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问

var声明变量存在变量提升,let和const不存在变量提升,所以用 let 定义的变量一定要在声明后再使用,否则会报错

var 变量可以多次声明,而 let 不允许在相同作用域内,重复声明同一个变量

const 用来定义常量,使用时必须初始化(即必须赋值,只能在块作用域里访问,而且不能修改;如果声明的是复合类型数据,可以修改其属性

    以上就是本篇文章【【js知识】const定义变量时的{} & 【ES6】中var、let、const的区别】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.glev.cn/quote/9569.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 歌乐夫资讯移动站 http://sicmodule.glev.cn/mobile/ , 查看更多