您的位置:首页 > Web前端 > AngularJS

《揭秘Angular 2》-TypeScript声明和解构

2017-12-07 20:48 141 查看
TypeScript声明和解构

在TypeScript中,支持var、let和const这样的声明方式

let声明
let声明与var的声明写法类似。
let声明只在块级作用域生效
let声明在相同作用域之下,不允许被重复声明,只取最近声明的值


const声明
const与let用法相似,与let有相同的作用域规则,但const声明的是常量,不能被重新赋值,否则就会出错。
但如果定义的常量是对象,对象的属性值是可以被重新赋值的。


let与var声明变量的写法类似:
let hello="Hello ";//自动编译为   var hello="Hello"

let声明的变量只在块级作用域内有效:
function aa() {
let a=1;
function vv() {
let v=2;
return v;//正确
}
return v;//报错
}

let声明在相同作用域之下,不允许被重复声明,只取最近声明的值:
let p=1;
let p=2;//报错

let声明在下面两种函数入参的对比:
function funA(x) {
let x=100;//报错,x已经在函数入参声明
}
//增加了判断条件组成的新的块级作用域
function funB(condition,x) {
if(condition){
let x=100;//运行正常
return x;
}
return x;
}
funB(false,0);//返回0
funB(true,0);//返回100


const与let用法相似,与let有相同的作用域规则,但const声明的是常量,不能被重新赋值,否则就会出错

const cc=1;
cc=2;//报错


const sun={
name:"keri"
}
sun={
name:"kerry"//报错
};
sun.name="keri"//就不会报错


解构
解构是ES6的一个重要特性,所谓的解构就是讲声明的一组变量与相同的数组或者对象的元素值一一对应,并将变量和对应元素进行赋值

数组解构:
let inp=[1,2];
let [a1,a2]=inp;
console.log(a1);//相当于inp[0]:1
console.log(a2);//相当于inp[1]:2
我们还可以使用reset参数语法
(形式为: ...参数名)创建一个剩余变量列表
"..."表示展开操作符,用于创建可变长的参数列表
let[c1...c3]=[1,2,3,4,5];
console.log(c1);//1

console.log(c3);//2,3,4,5     【c3:代表剩余的数】

对象解构:
let test={
    a:1,
    b:2
}
let{a,b}=test;
console.log(a);//1
console
ad52
.log(b);//2

好了,今天就写到这里啦~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: