typescript学习笔记

作者: wxfeng 分类: web前端 发布时间: 2017-05-18 00:00    阅读 1,145 次

模块与模型的区别

模块是个物理概念上的划分
模型是逻辑概念上的划分

数组

TypeScript像JavaScript一样可以操作数组元素。 有两种方式可以定义数组。 第一种,可以在元素类型后面接上 [],表示由此类型元素组成的一个数组:

let list: number[] = [1, 2, 3];

第二种方式是使用数组泛型,Array<元素类型>

let list: Array<number> = [1, 2, 3];

var、let、constde区别?

简单来说是: let是修复了var的作用域的一些bug,变的更加好用。let是更好的var。var的作用于是函数作用于,而let是块级别(大括号括起来的内容)
const声明的变量只可以在声明时赋值,不可随意修改,这是最大的特点。

——————————-

使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象;

使用let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升;

使用const声明的是常量,在后面出现的代码中不能再修改该常量的值。

——————————

摘自:https://www.zhihu.com/question/52662013

析构的用法

typescript源代码:

//返回对象
function getname() { 
    return { 
        ID : 111, 
        name : "wxfeng" 
    } 
} 

//针对对象的析构表达式,用大括号
var { ID, name } = getname(); 
console.log(ID); 
console.log(name);

//另使用别名 userid
//var { ID:userid, name } = getname();  
//console.log(userid);  
//console.log(name);

//针对数组的析构表达式,用中括号 
var array = [1, 2, 3, 4]; 
var [number1, number2, ...others] = array; 
 
console.log(number1); 
console.log(number2); 
console.log(others);

javascript源代码:

//返回对象 
function getname() { 
    return { 
        ID: 111, 
        name: "wxfeng" 
    }; 
} 
//针对对象的析构表达式,用大括号 
var _a = getname(), userid = _a.ID, name = _a.name; 
console.log(userid); 
console.log(name); 
//另使用别名 userid 
//var { ID:userid, name } = getname();   
//console.log(userid);   
//console.log(name); 
//针对数组的析构表达式,用中括号 
var array = [1, 2, 3, 4]; 
var number1 = array[0], number2 = array[1], others = array.slice(2); 
console.log(number1); 
console.log(number2); 
console.log(others);

优点:减少代码的书写量,且不易出错.

作用:当需要用对象的属性或数组里面的值来初始化一些本地的变量时,析构表达式可以满足你写更长的代码.

箭头表达式

//用来声明匿名函数,消除传统匿名函数的this指针问题


var sum=(arg1,arg2)=>arg1+arg2;
console.log(sum(1,2));
//输出结果:3

function getStock(name:string){
       this.name=name;
       setInterval(()=>{
           console.log("name is"+this.name)
       },1000)
   }
var stock = getStock("IBM");

//输出:name is IBM

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

一条评论

发表评论

您的电子邮箱地址不会被公开。