ts...

ts实质上是基于js的语言 所以他的语法和js也大同小异
mac 安装 typescript sudo npm i typescript -g
查看安装的版本 tsc -v
解决 ts和js冲突的问题 tsc --init
自动编译 tsc --watch
发出错误严格模式 tsc --noEmitOnError **显示申明**

function greeet(person: string, date: Date) {
    console.log(`${person}-${date}.`)
}

greeet(‘小芊’, new Date()) **隐士申明**

function greeet(person: any, date: any) {
    console.log(`${person}-${date}.`)
}
greeet('小芊', new Date()) `

降级编译 tscconfig.json’修改属性 targert:“es5”
严格模式

tscconfig.json'修改属性 strict: true,noImplicitAny:true,strictNullChecks:true
strict: true :类型验证

数组定义 `

let arr: number[] = [1, 2, 3] let arrs: Array = [1, 2, 3]在这里插入代码片

`
函数定义 retutn定义

function getnumber():number{
    return 23
}。 参数定义
function getnumber():number{
    return 23
}

对象定义

function getnumbers(obj:{x:number,y:string}):number{
    return 23
}
getnumbers({
    x:1,
    y:'11'
})

联合类型

obj:{x:number,y:string | number}。y:string[]. :   表示字符串数组

定义别名

type point ={x:number,y:string | number}
function printcoor({pt:point}){} printcoor({pt:1})

interface (接口 定义对象类型的另一种方式)
interface可以重复定义 会叠加。

interface animal {
    name:string
}
interface bear extends animal {
    number:1
}
const obj:bear={
    name:'',
    number:1
}

type 类型扩展
type不可以重复定义 会报错

type point ={x:number,y:string | number} &{
    z:string
}
function printcoor(obj:point){}
printcoor({x:1,y:2,z:''})

类型断言 定义成不太清楚的类型 而不是any 就失去了ts的意义

const x = ('hello' as unknown)

文字类型

person:1

非空断言 (确定它不是那个类型 有问题)

console.log(x!.toFixed())

枚举

enum Direction {
    up = 1,
    a,
    b
}
bigint 非常大的整数。symbol 全局唯一引用
const number:bigint = 100n

类型缩小 使用if语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值