一、var、let、const比较

对于var和let:

var作用域为函数作用域,而let为块作用域

const为只能被赋值一次的let类型

二、解构

解构类似于将结构相同的两个数据做一一对应的赋值或类型声明,例如:

// 解构数组
let input = [1, 2];
let [first, second] = input;// 也可以这样写
[first, second] = [second, first];// 或者用来声明类型而不是赋值
[first, second]: [number, number]

【注】:对于对象的解构,不像数组一样按照顺序一一赋值,数组可以不按照顺序赋值,但是左边变量名称要是对象的元素名称

let o = {a: "foo",b: 12,c: "bar"
};
let { a, b } = o;
// 如果写 let {x,y} = o则报错,因为对象o里面没有x,y元素
// 如果写 let {c,b} = o 也可以,而且值分别对应o.c 和 o.b

对象解构时,也可以给左边的变量重命名

let { a: newName1, b: newName2 } = o;

这时候,如果还想要指定类型,需要在后面写完整模式:

let {a, b}: {a: string, b: number} = o;

缺省值和默认值

function keepWholeObject(wholeObject: { a: string, b?: number }) {let { a, b = 1001 } = wholeObject;
}
// 这里 b?:number 表示 b 是 number 类型的值,并且 b 允许缺省
// 所以, 使用 b=1001给 b 指定默认值, 当 b=undefined 时,给 b 赋值默认值

三、展开

数组展开:

let first = [1, 2];
let second = [3, 4];
let bothPlus = [0, ...first, ...second, 5];

对象展开:对于对象展开,后面的同名属性会覆盖前面的属性

let defaults = { food: "spicy", price: "$$", ambiance: "noisy" };
let search = { ...defaults, food: "rich" };
// 值为 { food: "rich", price: "$$", ambiance: "noisy" }

【注】:展开一个对象后,你会丢失其方法

转载于:https://www.cnblogs.com/shenjie0507/p/10114172.html

[TypeScript][文档]变量相关推荐

  1. typescript 文档阅读笔记-Unions and Intersection Types

    Union Types 用来组合不同类型 let name: string | number Unions with Common Fields 如果某个值的类型是一个联合类型.那么我们只能访问他们公 ...

  2. C# VS2012操作word文档 (二).插入表格图片

    在上一篇文章"C# VS2012创建word文档.(一)"中我们讲述了如何使用VS2012引用COM中Miscrosoft Word 14.0 Object Library实现创建 ...

  3. C# VS2012操作word文档 (一).创建文档

    该文章主要是讲述如何使用VS2012创建word文档,因为在项目中我们可能需要点击一个按钮把数据库中的项目表单或图片显示到word文档中,因此该文章主要分析如何使用VS2012创建word文档并填写相 ...

  4. 用Itextsharp 组件导出PDF 的文档的方法

    Itextsharp 是一个很强大,开源的,轻量级的 PDF 生成组件,官方网上好像没有相应的API 说明文档,以下是在工作中使用的心得与体会,并附上源码,功能包含了pdf 的创建,table 的创建 ...

  5. DSO(dsoframer)的接口文档

    (开发环境)使用前先注册一下DSOFramer.ocx     操作:将DSOFramer.ocx复制到C:\windows\system32目录下,          开始->运行->r ...

  6. PDF文档转换为图片、图片转成PDF 及PDF合并

    简介 功能:PDF文档按每页转换成一张图片,一张图片转换成一张PDF 并将多张PDF合成一个多页的PDF文档. 经历:在各个网站上搜索始终出现各种问题,尤其是遇到引用的版本问题尤其头疼,不是不能适用当 ...

  7. IText实现对PDF文档属性的基本设置

    一.Itext简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文 ...

  8. 利用python-docx设置简单的word文档模板

     导入需要的模块 from docx import Document from docx.enum.text import WD_PARAGRAPH_ALIGNMENT from docx.oxml. ...

  9. 编程实现操作word文档 c#

    建立一个自己的类 //word 类,     /*  1. 添加引用COM里面的 Microsoft Word 12.0 Object. Library 引用(12.0表示Word 2007版本) 2 ...

最新文章

  1. C++ 对象和实例的区别,以及用new和不用new创建类对象区别
  2. 互联网晚报 | 1月25日 星期二 | 知乎首次举办上星晚会;微信视频号上线首个付费直播间;淘宝天猫“春节不打烊”活动正式上线...
  3. 将activity设置成对话框模式时遇到的问题(android)
  4. 【考研】考研5大分数线——国家线、院校线、自划线、单科线、录取线的区别
  5. java多线程中的死锁情况读书笔记
  6. ZOJ 3430 Detect the Virus
  7. MySQL灾备恢复在线主从复制变成主主复制及多源复制【转】
  8. 为 WE 打 Call!
  9. (ChibiOS )嵌入式操作系统 与 (OSAL)操作系统抽象层
  10. 计算机开机界面图片怎么修改,电脑win7系统怎么修改开机画面的方法
  11. b站的服务器在哪个文件夹,b站缓存的视频在哪个文件 具体操作步骤
  12. Unity Burst 用户指南
  13. [M1]Daily Scum 9.29
  14. Ogre procedural 几何图元库
  15. 区块链学习笔记及总结【二】
  16. 计算机组成原理扩展指令CLC实验报告,计算机组成原理实验报告.doc
  17. SQL简明数据分析教程
  18. 【云速建站】关于企业版的几点说明
  19. Mean ± SEM or Mean(SD)
  20. 文旅农康展新貌,雷山乡村更振兴

热门文章

  1. Android获取挂载U盘的属性
  2. android中设置控件获得焦点
  3. 第八周项目三-指向学生类的指针
  4. Android Studio Terminal 不是内部或外部命令,也不是可运行程序或批处理文件
  5. Flutter Widget
  6. InputStream OutputStream 傻傻分不清
  7. swift_016(Swift 的闭包)
  8. k8s kafka集群 连接不上_图解 K8s 核心概念和术语
  9. cookie、 sessionStorage 、localStorage之间的区别和使用
  10. bzoj2618 [Cqoi2006]凸多边形