TypeScript学习笔记——TypeScrip的环境准备、简介、数据类型

TypeScript

1、学习准备

  • 运行环境:

    ​ Node:https://nodejs.org/zh-cn/,下载安装

    检验安装成功:

    //cmd命令行输入:
    node -v
    //返回对应版本号则表示安装成功
    

    报错处理:(检查环境变量)

    • 在保证已经安装好的情况下,在 控制面板——高级设置——环境变量——path当中检查

      如果没有配置则新建——将对应的安装路径的bin目录地址复制添加环境变量

  • TypeScript安装:

    在cmd当中(以管理员身份打开):

    安装

    npm install -g typescript
    

    检验是否安装成功:输入 tsc,得到:即表示安装成功

    在这里插入图片描述

  • 使用

    1. 在文件夹中,新建后缀名为.ts的文件,里面写ts的代码
    2. 在命令行工具中,进入文件夹地址,输入命令 tsc + 文件名

2、Ts简介

typeScrip是JavaScript的一个超集,支持Es6的标准。

由微软开发的,开源的编程语言,弥补了js的一些本身的缺陷和不足。

ts的设计目标是开发大型应用,可以编译成为纯Js,并且运行在任何的浏览器当中

语言特性:

  • 类型批注和编译时类型检查
  • 类型推断
  • 类型擦除
  • 接口
  • 枚举,元组
  • Minxin
  • 泛型编程
  • 名字空间
  • Await

3、TS的数据类型

Es6的七种数据类型
  • number——数字类型
  • String——字符串类型
  • Array——数组类型
  • Object——对象类型
  • null
  • undefined
  • Symbol
Ts的数据类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

Ts的变量声明:
//对类型有严格约束,当前或后期赋值都必须保证两侧的数据类型一致
let [变量]:[类型声明] = 值
//eg:
let b:number ;    // 默认undefined
数字类型:
let b:number ;  
字符串类型:
let a:string = "hello world"
布尔类型:
let flag:boolean = true    
元组类型(new*)

元组类型表示一个已知****元素数量和类型数组,各元素的类型不必相同

let c:[object,string,number,boolean]  
//元组类型,赋值时左右的顺序,和数量都必须完全保持一致
枚举类型enmu

enum类型是对JavaScript标准数据类型的一个补充。像C#等其它语言一样,使用枚举类型可以为一组数值赋予变量名称。

enum Color {Red = 1,Green,Blue} 
//结果{ '0': 'Red', '1': 'Green', '2': 'Blue', Red: 1, Green: 2, Blue: 3 }
//相当于(实际上是一种映射的关系,可以按名找他的值,也可以按照他的值来找他的名,)
var Color;
(function (Color) {
    Color[Color["Red"] = 1] = "Red";
    Color[Color["Green"] = 2] = "Green";
    Color[Color["Blue"] = 3] = "Blue";
})(Color || (Color = {}));

注意点:

  • enum类型依次会从0给元素赋予编号(其他看时时示例理解)

    enum Color {Red = 1,Green,Blue} 
    //结果{ '0': 'Red', '1': 'Green', '2': 'Blue', Red: 1, Green: 2, Blue: 3 }
    
    enum Color {Red ,Green = 3,Blue}
    //结果{ '0': 'Red', '3': 'Green', '4': 'Blue', Red: 1, Green: 3, Blue: 4 }
    
    enum Color{red,blue='kk',green} //报错,枚举成员必须具有初始化表达式
    enum Color{red,blue='kk',green=124} //正确
    //结果{ '0': 'red', '124': 'Blue', red: 0, blue: 'kk', green: 124 }
    
  • enum类型的值里面不能设置为一个对象,或者利用变量间接的引用对象值

    enum Color1{red,blue='kk',green={name:'zxc'}}
    //报错,含字符串值成员的枚举中不允许使用计算值
    //对象类型的数据——》字符串——》Object Object]
    
任意类型any

不会被类型检查器报错,可以设置自己想要的类型值(null,undefined,number…)

let n:any = 4 
//可以赋值
n = 'jerry'

常见应用:

  • 用在不知道传入什么类型的值(比如来自一些动态内容的)

  • 函数参数的返回值(经常是不可预判的,可以用any类型)

    function fn(a:String):any{
    	return 'abc...'
    }
    
无类型void
  • void更像是一种中间类型,定义后就只能传入null或者undefined
  • null/undefined类型(默认情况下他们是任意类型的子类型)
let cc:void = undefined
// 只能给他赋值null/undefined类型(默认情况下他们是任意类型的子类型)
let e:number = null
never类型

never——表示永久不存在的值的类型

// never类型是任意类型的子类型(包括any...),never没有子类型,没有可以赋值给never类型的
//应用1:抛出错误的返回值
function ERROR(err:string):never {   
  throw new Error(err);
}
function fail():void {   
  throw ERROR("出现错误");
}

//应用2:无线死循环
function loop():never {   
  while (true){
    console.log("next");
  }
}
类型断言
  • 尖括号语法(没有运行时的影响,只在编译时有影响)

    let value:any = "string"
    let len:number = (<string>value).length
    
  • as语法

    let value1:any = "string"
    let len1:number = (value1 as string).length
    
数组类型对象类型,作为一个变量进行申明
let y:Array<String>; //声明类型是Array,内部元素都是String

let z:Object;
z = {name:'123'}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值