Ts-安装以及数据类型和简单操作方法

 一、安装

1.安装

完成之后,在命令行输入node检查是否安装node.js在命令行输入tsc -v检查是否安装ts

2.简单使用

我们创建一个helloworld.ts文件写入下边代码

console.log('hello world');

我们通过输入tsc ts文件所在位置 将ts文件转换为js文件并重新为新文件(新文件名字和ts一样,位置和ts文件为兄弟关系 原来的ts文件不会改变)

我们使用node ts文件所在位置运行ts文件输出hello world

二、数据类型:

(any number string boolean array 元组 enum undefined null never unknown <>(<>类型下一节介绍))

1.没有指定类型的变量都是any类型

2.let 变量:any(给变量指定类型)也可以直接赋值 关闭了ts检查的类型

let a:number=10

当这样赋值以后再赋值给字符串会报错(不影响编译,但并不会这样做)

3.数字类型number 

number包括了所有数字类型(小数正负数)

4.字符串类型string

let a:string=''

再给他赋值为数字,也会报错,但是不影响执行

5.布尔类型:true/false 和前两个一样,赋值别的也会报错,不影响执行

6.数组array:

let arr: number[]=[]

声明了数字数组,push进去只能为数字,同样也可以声明string的数组 

7.元组:固定长度但是不固定类型的数组

let arr:[number,string]
arr=[33,'zhangsanq']

声明了两个数据的元组而且数据必须按照数据类型的顺序排类

8.枚举类型enum:

enum color{red=1,green=3,blue=3};
console.log(color.red)

9.

function fun():void{}

注意的是void是表示当前返回值为无返回类型,不是没有返回类型

10undefined 未定义

11.null  空

12.never代表从不会出现的类型,不能返回类型,类似黑洞

function fun1:never{}

函数体中如果有死循环就可以执行了(ts类型预测)

13.unknown类型

unknown有类型检查,any不会去检查数据类型,unknown可以和any进行数据交互,和number不能进行数据交互,实质上是检查类型的any类型

let n: number

let j: any

let s: unknown

n=10

n=j

n=s

最后一行代码会报错 

14.字面量类型(自定义)

let num:100
num=100

定义100以后只能赋值100因为他的类型是100,赋值其他数值会报错

let num:{

name:string

}

num={
name:"a"

}

num的类型是对象(包含一个name属性的对象) 

15.<>泛类型(下节说)

16.let num:number |string 联合类型,这样写下边就不会报错了

实质上是定义num为数字类型或是字符串类型

let num:number |string 
num=20

num='字符串'

17.let num:number & string   (既是整数类型又是string类型 )

二、部分关键词

1.type 类型别名(用来定义类型)

type person={

name:string,

age:number

     }

let num:person={

name:'张三',

age:18

}

2.冒号右边都是数据类型,左边都是形参

3.interface(也是用来定义类型)

interface person1{

}

与type的区别:

interface可以类型集合

type不可以再次定义

即interface可以实现下边代码

interface person{
                      name:string,
                      }
interface person{

                      age:number
                      }

4.class:(定义类)

class person{

name:string="张三"

//静态方法

satic age:number=20

fun():void{

console.log(111)

}
}
//继承
class Father extends Person{

} 

new Father().name
Father.age

静态方法调用:Father.age(允许被修改)

如果定义的时候在static前边加readonly就不允许修改了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值