2020-11-06

一、TypeScript变量声明

1、变量的命名规则:
(1)变量名称可以包含数字和字母

(2)变量名称不能以数字开头

(3)变量中的只能以_和$命名,不能使用其他符号

2、变量的声明方式

(1)var 变量名 :类型 = 值    eg:var user : string = "JOE";

(2)var 变量名 : 类型          eg:var user : string;    (无初始值,默认值为undefined)

(3)var 变量名 = 值               eg:var user = "JOE"; (无默认类型,可以为任意类型)

(4)var 变量名                      eg:var  user; (无初始值,无默认类型,可以为任意类型,默认值为undefined)

3、断言(类似类型转换,但是运行时没有任何操作支持,只是编译时的语法,所以不是类型转换)

<类型>值 或 值 as 类型
var str = '1' 
var str2:number = <number> <any> str   //str、str2 是 string 类型
console.log(str2)

 

二、TypeScript数据类型

基本类型:

number       let  number : age = 25;

string          let  string : user = "JOE";

boolean      let  boolean : flag = true;

数组类型     let  arr :  number[ ] = [1,2,3,4,5];

               或 let arr : Array<number> = [1,2,3,4,5];

元组类型(存放不同类型数据的数组) let test : [string,boolean,number,...string] = ["JOE",true,25,"Jun","july","asor","sdsd"]; 注: ...string表示多个字符串元素

枚举            enum Color = {blue,yellow,red};

                   let c : Color = Color.blue;

void(返回值为空)          function  hello():void{

         方法体

}

any(用于变量类型不确定)  let x:any = 1;

                                           let x:any = "JOE";

                                           let x:any = true;

                                                x = 15;

任意类型的数组  let arr:any[] = [1,"JOE",true];

null和undefined(JS中null和undefined可以赋值给基础类型)

例如:let x:number = 1;

               x = null;(TypeScript报错)

              x  =  undefine;(TypeScript报错)

如果一个变量可能出现null或者undefined可以用 | 来支持多种类型

例如: let x:number | null | undefined = 1;

            x  = null;(正确)

            x  =  undefined;(正确)

never 其他类型(null和undefined)的子类型,在方法中有无限死循环或者抛出异常时,作为方法的返回值。

let x: never;
let y: number;

// 运行错误,数字类型不能转为 never 类型
x = 123;

// 运行正确,never 类型可以赋值给 never类型
x = (()=>{ throw new Error('exception')})();

// 运行正确,never 类型可以赋值给 数字类型
y = (()=>{ throw new Error('exception')})();

// 返回值为 never 的函数可以是无法被执行到的终止点的情况
function loop(): never {
    while (true) {}
}
// 返回值为 never 的函数可以是抛出异常的情况
function error(message: string): never {
    throw new Error(message);
}

 三、运算符
 

运算符:typeof 返回变量的数据类型

typeof  变量 

四、循环语句

for...in 循环语句 

var j:any; //j必须为any或者string
var n:any = "a b c" 
 
for(j in n) {
    console.log(n[j])  
}

for...of循环语句(for...of 语句创建一个循环来迭代可迭代的对象。在 ES6 中引入的 for...of 循环,以替代 for...in 和 forEach() ,并支持新的迭代协议。for...of 允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等)

let someArray = [1, "string", false];
 
for (let entry of someArray) {
    console.log(entry); // 1, "string", false
}

四、函数调用

函数格式:

function 函数名称(参数1:参数类型,参数2:参数类型):返回值类型{

//方法体

}

示例:
function getUser(username:string,userId:number){
  
//方法体
 
}

1、可选参数(可选参数后面带?号,且可选参数必须在必选参数的后面)

function 函数名称 (必选参数1:参数类型,必选参数2:参数类型,可选参数?:参数类型):返回值类型{

//方法体

}

示例:
function getUser(userName:string,userId:number,age?:number){

//方法体

}

2、默认参数(默认参数用于,调用方法时没有传参进来则使用默认参数值,如果默认参数有传参进来则使用传进来的值)

function 函数名称(参数1:参数类型,参数2:参数类型,默认参数:参数类型 = 默认参数值):返回值类型{

//方法体

}

function getUser(userName:string = "JOE",userId : number,age:number = 25){

//方法体

}

3、剩余参数(当不知道传入的参数个数时,最后以...为前缀传入一个参数的数组)

function 函数名称(参数1:参数类型,参数2:参数类型,...剩余参数:参数数组类型[]):返回值类型{

//方法体

}


function getUserList(userName:string,userId:number,...userInfo:string[]){

//方法体

}

4、匿名函数(没有函数名的函数)

//匿名函数
function(参数:参数类型){//方法体}


//函数表达式
var test = function (参数:参数类型){//方法体}

调用匿名函数:test(参数);

5、构造函数(js内置的构造函数,无

var 函数表达式 = new Function (参数1,参数2,参数3,方法体)

示例:

var test = new Function("a","b","return a");

调用 var t = test(4,3);

 

 

 

 

本文仅供作者自己参考,部分示例来源于菜鸟教程,侵删。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值