TypeScript 素描-变量声明
博文读自 TypeScript 官方文档而来,不具有学习性,仅是本人学习时记录以供日后翻阅 ,有学习TypeScript的朋友还请去看更为详细的官方文档
/*
变量声明在之前的js中一直是使用var关键字,现在支持了全新的声明
方式 let 与 const
var 声明的变量作用域一直很让人费解,所以现在推荐使用let来消除
var 声明变量带来的一系列问题
*/ // 第一个例子
function f(flag: boolean) {
if (flag) {
var xxxx: number = 10;
}
xxxx = 12;
}
//在方法中 if 里声明了变量xxxx,但是在if外忍耐可以访问xxxx,如
//果声明方式换成 let 则变量的作用域只存在 if方法内 //第二个例子
function fun3() {
for (var i = 0; i < 10; i++) {
for (var i = 0; i < 10; i++) {
}
}
}
//也许上面的例子并不会出错,也不会带来什么麻烦,但是第二个例子
//很明显就是属于会出错的类型了。两次for循环都声明了变量i,然后
//它们在后面的循环中就用了同一个变量 //所以说了这么多废话,就是说let多NB,大家快来用吧-.- 不过实话
//使用let可以消除这些问题,即使出错也会快速的定位到错误的所在 if (true) {
//而且在同一作用域是不可以重复声明同一个变量名的,let的作
//用域是块级的
//let let1 = 10;
//let let1 = 10;
} //const声明是一个常量,赋值后不可以再改变 //解构是有一个有趣的东西,具体可以通过代码来观察
let input = [1, 2];
let [first, second] = input;
//等价与 let first =input[0]; let second = input[0]
//也可以当做方法的参数
function fun4([first, second]: number[]) { };
fun4(input); // ...{args} 代表剩余的变量
let [n1, n2, ...args] = [1, 2, 3, 4, 5];
//, 忽略中间的变量
let [s1, , , s4] = [1, 2, 3, 4]; //解构对象
let o = {
a: "foo",
b: 12
}
let {a, b} = o; //属性重命名
let {a: newName1, b: newName2} = o;
console.log(newName1); //展开 可用于数组与对象
let let3 = [1, 2];
let let4 = [3, 5];
let bothPlus = [0, ...let3, ...let4, 6];
TypeScript 素描-变量声明的更多相关文章
- TypeScript的变量声明
1.全新的变量声明方式 let和const是JavaScript ES6中新添加的变量声明方式.let在很多方面与var是相似的,但是它可以避免一些在JavaScript里常见一些问题. 而const ...
- Typescript变量声明
let 和 const 是 javascript 里面最新的变量声明方式,let 与 var 很相似,而 const 是 let 的增强,能阻止对一个变量的再次赋值. var 声明 弱类型:var 声 ...
- Typescript学习笔记(三)变量声明及作用域
ts的变量声明有var,let和const,这尼玛完全跟es6一样嘛.就稍微介绍一下. 大多数js开发者对于var很熟悉了,原生js里没有块级作用域,只有函数作用域和全局作用域,还存在var的变量提升 ...
- TypeScript 变量声明(二)
ES6 中,变量声明一共有6种,分别是var.function .let.const.class和import. let 基本语法:let 变量名 :类型.其中类型不是必须的. 1.用于声明变量,其用 ...
- TypeScript 素描-基础类型
博文读自 TypeScript 官方文档而来,不具有学习性,仅是本人学习时记录以供日后翻阅 ,有学习TypeScript的朋友还请去看更为详细的官方文档 TypeScript官网文档中的基础类型, T ...
- 变量声明---let,const,解构
let在很多方面与var是相似的,但是可以帮助大家避免在JavaScript里常见一些问题. const是对let的一个增强,它能阻止对一个变量再次赋值. 块作用域 当用let声明一个变量,它使用的是 ...
- 感受typescript定义变量和数据类型的神奇魔力
变量和数据类型 你的Javascript能力到达瓶颈?那是因为你还不会typescript.掌握TS,让你的开发更加准确简洁. 今天的学习中,我们接着从TS的数据类型和变量入手,感受它们的奇妙魔力. ...
- Js 变量声明提升和函数声明提升
Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){ ...
- js 碎片整理(变量声明,函数作用域)
1.变量声明: 在非严格模式下,函数可以对未声明的变量赋值,而这样赋值的结果就是该变量就会变成全局变量. (function(){ var a = 1; })(); console.log(a) ; ...
随机推荐
- mui scroll和上拉加载/下拉刷新
mui中 scroll和上拉加载/下拉刷新同时存在会出现两个滚动条 把/* */ /* //mui页面鼠标拖动代码: mui('.mui-scroll-wrapper').scroll({ dec ...
- Angel工作室EasyUI通用权限管理框架正式发布
框架系统基本功能: 1.管理员管理 2.日志管理 3.菜单导航管理 4.角色管理 5.操作权限管理 6.系统设置管理 7.报表导出 8.系统参数管理 该框架应该说是码农们接单利器的首选解决方案,本框 ...
- 我的屌丝giser成长记-研三篇
进入研三以来,基本都是自己的自由时间了,从导师的项目抽离出来,慢慢的都交给师弟他们来负责.研三的核心任务就是找工作以及写毕业论文,因为有导师科研基金项目成果作为支撑,所以自己的论文没什么可担心,一切都 ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- 改变Activity启动时的默认动画
why 在开发中我们可能需要改变这一行为,一般基于2种理由: 产品的spec这么要求的: 想自己控制这个行为,因为在Android设备上可能每个的这一默认行为都不一样,厂商可以很容易修改它,从而导致a ...
- Angularjs-项目搭建
开发工具采用WebStorm,没破解,使用了过期策略:安装之后不着急打开程序,先设置系统日期为未来的某个日期,比如2020年.然后再打开程序,试用.然后再改回来系统日期.虽然每次打开WebStorm都 ...
- Maven详解
一.前言 以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的.最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在 ...
- ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点
参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...
- hadoop-2.7.1伪分布环境搭建
1.准备Linux环境 1.0 点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet i ...
- Bootsrap基本应用
Bootsrap 用法: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...