热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PartIII02let、const与解构赋值(0901tue)

主要内容:let、const与解构赋值

主要内容:let、const与解构赋值


  1. let和const声明

    • let 与 const 相同之处
    • a. 禁止重复声明
    • b. 支持块作用域
    • c. 不同之外,let允许更新, 而const禁止更新

  2. var/let/const在全局作用域绑定上的区别

    • var会成为全局变量,从而污染全局环境。可以通过命名空间来解决这个问题
    • let、const则没有这个问题

  3. 解构:主要是针对对象和数组

    • 解构的目的: 将集合数据按规则打散到一些独立的变量中
    • 嵌套对象解构

  4. 其他两个点

    • 貌似对象都是{},数组都是[]
    • console.log,外还有console.dir, console.table




1. let声明

  1. lang="en">
  2. charset="UTF-8" />
  3. name="viewport" content=" />
    • itme1
    • itme2
    • itme3
    • itme4
    • itme5



2. const

  1. lang="en">
  2. charset="UTF-8" />
  3. name="viewport" content=" />



3. var/let/const在全局作用域绑定上的区别

  1. lang="en">
  2. charset="UTF-8" />
  3. name="viewport" content=" />



4. 对象解构

  1. lang="en">
  2. charset="UTF-8" />
  3. name="viewport" content=" />



5. 嵌套对象解构

  1. lang="en">
  2. charset="UTF-8" />
  3. name="viewport" content=" />



6. 数组解构

  1. lang="en">
  2. charset="UTF-8" />
  3. name="viewport" content=" />



7. 作业(在上面基础上修改的)


  1. 实例演示let ,const功能与应用场景,并分析异同
  2. 实例演示对象解析与数组解构的语法,应用场景

下面内容结合网上内容应用了下
(https://www.runoob.com/w3cnote/deconstruction-assignment.html)

在解构中,有下面两部分参与:
解构的源,解构赋值表达式的右边部分。
解构的目标,解构赋值表达式的左边部分。

基本型

  1. let [a, b, c] = [1, 2, 3];
  2. // a = 1
  3. // b = 2
  4. // c = 3

可嵌套

  1. let [a, [[b], c]] = [1, [[2], 3]];
  2. // a = 1
  3. // b = 2
  4. // c = 3

可忽略

  1. let [a, , b] = [1, 2, 3];
  2. // a = 1
  3. // b = 3

不完全解构

  1. let [a = 1, b] = []; // a = 1, b = undefined

剩余运算符

  1. let [a, ...b] = [1, 2, 3];
  2. //a = 1
  3. //b = [2, 3]

字符串等

  1. let [a, b, c, d, e] = 'hello';
  2. // a = 'h'
  3. // b = 'e'
  4. // c = 'l'
  5. // d = 'l'
  6. // e = 'o'

解构默认值

  1. let [a = 2] = [undefined]; // a = 2

对象的解构有很多类似的地方


推荐阅读
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • 双指针法在链表问题中应用广泛,能够高效解决多种经典问题,如合并两个有序链表、合并多个有序链表、查找倒数第k个节点等。本文将详细介绍这些应用场景及其解决方案。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 本文总结了Java初学者需要掌握的六大核心知识点,帮助你更好地理解和应用Java编程。无论你是刚刚入门还是希望巩固基础,这些知识点都是必不可少的。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • Spring 切面配置中的切点表达式详解
    本文介绍了如何在Spring框架中使用AspectJ风格的切面配置,详细解释了切点表达式的语法和常见示例,帮助开发者更好地理解和应用Spring AOP。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • Flutter 开发中集成极光推送的详细步骤
    本文详细介绍了如何在 Flutter 项目中集成极光推送服务,包括配置和测试的具体步骤。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
author-avatar
狮子胯下
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有