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

来源:互联网 发布:阿里代销如何传淘宝 编辑:程序博客网 时间:2024/06/14 10:06
TypeScript声明和解构

  • 在TypeScript中,支持varletconst这样的声明方式
  • let声明
let声明与var的声明写法类似。
let声明只在块级作用域生效
let声明在相同作用域之下,不允许被重复声明,只取最近声明的值
  • const声明
const与let用法相似,与let有相同的作用域规则,但const声明的是常量,不能被重新赋值,否则就会出错。
但如果定义的常量是对象,对象的属性值是可以被重新赋值的。
  • letvar声明变量的写法类似:

    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);//返回0funB(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.log(b);//2


好了,今天就写到这里啦~~







原创粉丝点击