定义const变量是不可以赋值_JavaScript的声明方法和作用范围,常见的结构赋值类型和使用场景...
链接:https://juejin.im/post/5d9bf530518825427b27639d
声明
- const命令:声明常量
- let命令:声明变量
作用
作用域
- 全局作用域
- 函数作用域:function() {}
- 块级作用域:{}
作用范围
- var 命令在全局代码中执行
- const命令和let命令只能在代码块中执行
赋值使用
- const命令声明常量后必须立马赋值
- let命令声明变量后可立马赋值或使用时赋值
声明方法:var、const、let、function、class、import
重点难点
- 不允许重复声明
- 未定义就使用会报错:const命令和let命令不存在变量提升(有争议)
- 暂时性死区:在代码块内使用let命令声明变量之前,该变量都不可用
解构赋值
- 字符串解构:const [a, b, c, d, e] = "hello"
- 数值解构:const { toString: s } = 123
- 布尔值解构:const { toString: b } = true
- 对象解构
- 形式:const { x, y } = { x: 1, y: 2 }
- 默认:const { x, y = 2 } = { x: 1 }
- 改名:const { x, y: z } = { x: 1, y: 2 }
- 数组解构
- 规则:数据结构具有Iterator接口可采用数组形式的解构赋值
- 形式:const [x, y] = [1, 2]
- 默认:const [x, y = 2] = [1]
- 函数参数解构
- 数组解构:function Func([x = 0, y = 1]) {}
- 对象解构:function Func({ x = 0, y = 1 } = {}) {}
应用场景
- 交换变量值:[x, y] = [y, x]
- 返回函数多个值:const [x, y, z] = Func()
- 定义函数参数:Func([1, 2])
- 提取JSON数据:const { name, version } = packageJson
- 定义函数参数默认值:function Func({ x = 1, y = 2 } = {}) {}
- 遍历Map结构:for (let [k, v] of Map) {}
- 输入模块指定属性和方法:const { readFile, writeFile } = require("fs")
重点难点
- 匹配模式:只要等号两边的模式相同,左边的变量就会被赋予对应的值
- 解构赋值规则:只要等号右边的值不是对象或数组,就先将其转为对象
- 解构默认值生效条件:属性值严格等于undefined
- 解构遵循匹配模式
- 解构不成功时变量的值等于undefined
- undefined和null无法转为对象,因此无法进行解构
定义const变量是不可以赋值_JavaScript的声明方法和作用范围,常见的结构赋值类型和使用场景...相关推荐
- 定义const变量是不可以赋值_定义好 const 变量
我们 a 组组长发了一张图过来,说是为什么之前把 dateModeTransform.js 处理日期的改了,让我改回来,说是要用到 年月日时分秒,还有之前的写法也有很多不妥的地方就是传递的参数太多了, ...
- 结构体变量和结构体类型的定义
结构体类型定义 定义方式1:Typedef struct LNode {int data; // 数据域struct LNode *next; // 指针域 } *LinkList; 定义方式2:st ...
- day02--java基础编程:变量,数据类型,类型转换,运算规则,Scanner,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序
1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...
- c语言定义学生结构体类型,C语言中结构体的三种定义方式
c语言中结构体的定义: struct 结构体名{ 成员列表: ..... }结构体变量: 7.1.1 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对 ...
- python定义变量并赋值_Python动态声明变量赋值代码实例
这篇文章主要介绍了Python动态声明变量赋值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过exec().globals()和loca ...
- node.js 函数外定义的变量 函数内赋值后为什么不能带出_(44)python少儿编程之函数(五)--- 作用域...
函数嵌套 在一个函数内定义了另一个函数 如图,定义了一个outer函数,然后在outer函数里面又定义了一个inner()函数,此时我们只能在outer函数调用inner()函数,如果在outer函数 ...
- MySQL中变量的定义和变量的赋值使用(转)
说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找到讲解. 前 ...
- mysql定义shell变量_shell 变量的定义,赋值,运算
一.变量类型 1.1.自定义变量 1.定义变量 不能使用纯数字命名,不能使用横杠命名 变量名=变量值 [root@localhost ~]# name=erha 2.引用变量 $变量名 或者 ${变量 ...
- C++:重定义:符号重定义:变量重定义(二):解决变量重定义(const static)
C++:重定义:符号重定义:变量重定义_hongwen_yul的博客-CSDN博客 上一篇文章中,我们知道解决变量重复定义其中一个办法是:尽量不要头文件中定义变量,头文件只做变量的声明.但是如果我们一 ...
最新文章
- AAAI 2021 最「严」一届发榜,1692 篇论文中选,录取率仅为 21%
- visio2013画图时两条直线交叉 如何让它不弯曲
- foreach用法_25个你不得不知道的数组reduce高级用法
- QML 读取本地文件内容
- Java操作Json工具——Jackson
- Windows 必知命令
- linux环境下启动git,linux系统安装git及git常用命令
- I00026 计算数根
- 损失函数 之 交叉熵
- 侯晓迪:全身心的投入,吃住都在实验室
- word的表格取消边框后还有虚线怎么办
- 【完整攻略】OPPO手机无密码解锁方法
- Apple 好莱坞艳照门的安全分析
- 地中海文明卢浮宫特展全攻略(国家博物馆),通俗版
- Windows环境安装MySQL ZIP Archive
- Repeater嵌套总结
- 多御安全浏览器更新隐私锁,个人隐私有救了
- ADG架构搭建1--Oracle安装
- nginx 离线安装
- 如何在控制台打开jar包
热门文章
- MFC中修改应用程序主窗口的标题
- windows+caffe下对CIFAR训练
- 感知哈希算法原理与实现
- dsniff 和 Ettercap 和 bettercap 详解 - 网络嗅探工具包
- Spring Data JPA 从入门到精通~思维导图
- Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
- C++学习之路 | PTA乙级—— 1020 月饼 (25分)(精简)
- mysql先排序再分组筛选_mysql 怎样先排序再分组
- tensorflow 如何获取模型中想要的张量
- 谷歌离开游览器不触发_谷歌游览器