TS语法

作者: 莫问前程F6 | 来源:发表于2022-04-28 17:49 被阅读0次

1. 自己定义变量可以设置基本类型

let courseName:string = '玩转Vue3全家桶'
let price:number = 129
let isOnline:boolean = true
let courseSales:undefined
let me:[string,number] = ["大圣",18]

2. 对象类型

interface course {
name:string,
price:number[],
avatar?:string|boolean,
readonly address:string
}

3 函数类型

type addType = (a:number,b:number)=>number
interface addType1{
(a:number,b:number):number
}
let add2:addType = function(x: number, y: number): number {
return x + y;
}

4. 宿主环境的类型TS提供了

let w:Window = window
let ele:HTMLElement = document.createElement('div')
ele.addEventListener('click',function(e:MouseEvent){
w.alert(1)
},false)

5 泛型 (难点)

<T>就是<某种类型>的意思,就是定义了一个类型变量,通过extends控制类型

function test<某种类型>(args:某种类型):某种类型{
return args
}
type ExtendsType<T> = T extends boolean ? "重学前端" : "玩转Vue3"
function getProperty<T, K extends keyof T>(o: T, name: K): T[K] {
return o[name]
}
type ReturnType1<T> = T extends ()=>infer P ?P:never

6. 用到框架中的源码

import {ref, Ref} from 'vue'
const props = defineProps<{ title: string value?: number}>()

interface Todo{
title:string,
done:boolean
}
let todos:Ref<Todo[]> = ref([{title:'学习Vue',done:false}])

const App: React.FC<IProps> = (props) => {
const [count, setCount] = useState<number>(1)
return (
<div className="App">
<h1>hello world</h1>
<h2>{count}</h2>
</div>
);
}

7.网络接口的类型 限制前后端接口的Typescript类型,限制参数传递,前后端联调爽歪歪

import axios from 'axios'
function request<T extends keyof API>(url:T,obj:Api[T]){
return axios.post(url,obj)
}
interface Api{
'/course/buy':{
id:number
},
'/course/comment':{
id:number,
message:string
}
}
request('/course/buy',{id:1})
request('/course/comment',{id:1,message:'嘎嘎好看'})
request('/course/comment',{id:1}) ###如果message必传 类型提醒缺少参数
request('/course/404',{id:1}) ###接口不存在 类型报错

相关文章

  • umijs@use-request源码解读

    一、了解ts基本语法 涉及ts的变量声明、接口、类、函数、泛型等 ts语法知识[https://typescrip...

  • TS语法

    1. 自己定义变量可以设置基本类型 let courseName:string = '玩转Vue3全家桶'let ...

  • webpack基础使用(四)

    十四、ts ts-loader帮助我们处理ts文件, 编译的时候就可以处理语法错误。 preset-typescr...

  • 第一章

    安装TS环境是为了能把TS语法转换成ES语法,这样浏览器才能识别运行 题外话 node与npmnode可以自己运行...

  • typescript笔记--类型篇

    动态监听ts文件变动,自动编译js 生成ts配置文件 类型约束的基本语法 ts的类型: 1.number类型:数字...

  • TS语法忽略、eslint忽略

    ts项目开发 某些情况下我们希望忽略ts语法检测 typescript忽略 eslint忽略+typescript忽略

  • 你不知道的Typescript

    ts文件中如果不包含ts语法的内容,是可以被html执行的(其实任何文件,只要符合js语法,都可以直接在scrip...

  • ts简介和安装使用

    简介 ts是微软开发的一款开源的编程语言 ts是js的超集,遵循最新的es5/es6规范,ts扩展类js语法 ts...

  • TypeScript 类型断言

    语法 <类型>值 或者 值 as 类型 在 tsx 语法(React 的 jsx 语法的 ts 版)中必须用后一种...

  • Typescript类型断言

    语法 <类型>值 或者 值 as 类型 在 tsx 语法(React 的 jsx 语法的 ts 版)中必须用后一种...

网友评论

      本文标题:TS语法

      本文链接:https://www.haomeiwen.com/subject/xwpdyrtx.html