typescript中文文档?myscript下载
大家好,今天给各位分享typescript中文文档的一些知识,其中也会对myscript下载进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
详解TypeScript使用及类型声明文件
声明文件是以.d.ts为后缀的文件,开发者在声明文件中编写类型声明,TypeScript根据声明文件的内容进行类型检查。(注意同目录下最好不要有同名的.ts文件和.d.ts,例如lib.ts和lib.d.ts,否则模块系统无法只根据文件名加载模块)为什么需要声明文件呢?我们知道TypeScript根据类型声明进行类型检查,但有些情况可能没有类型声明:第三方包,因为第三方包打包后都是JavaScript语法,而非TypeScript,没有类型。宿主环境扩展,如一些hybrid环境,在window变量下有一些bridge接口,这些接口没有类型声明。
Script与 Vue3参考链接(英文):vuejs.org/guide/types参考链接(中文):staging-cn.vuejs.org/guide/typesvue3配合ts中,还需要额外安装一个 vscode插件:Typescript Vue Plugin
目标:掌握defineProps如何配合ts使用
defineProps配合vue默认语法进行类型校验(运行时声明)//运行时声明defineProps({ money:{ type: Number, required: true}, car:{ type: String, required: true}})defineProps配合ts的泛型定义props类型校验,这样更直接//使用 ts的泛型指定 props类型defineProps{ money: number car?: string}()props可以通过解构来指定默认值script lang="ts" setup//使用ts的泛型指令props类型const{ money, car='小黄车'}= defineProps{ money: number car?: string}()/script
如果提供的默认值需要在模板中渲染,需要额外添加配置vuejs.org/guide/extra// vite.config.jsexport default{ plugins: [ vue({ reactivityTransform: true}) ]}
defineEmits与 Typescript目标:掌握 defineEmits如何配合ts使用
const emit= defineEmits(['change','update'])const emit= defineEmits{(e:'changeMoney', money: number): void(e:'changeCar', car: string): void}()
ref与 Typescript目标:掌握ref配合ts如何使用
通过泛型指定value的值类型,如果是简单值,该类型可以省略const money= refnumber(10)//推荐写法,提供效率const money= ref(10)如果是复杂类型,泛型指定interface Todo{ id: number content: string done: boolean}//复杂类型需要指定结构,不能省略const list= refTodo[]([])list.value.push({ id: 1, content:'吃饭', done: false})
computed与 Typescript目标:掌握computed配合typescript如何使用
通过泛型可以指定computed计算属性的类型,通常可以省略const leftCount= computednumber(()={ return list.value.filter((v)= v.done).length})console.log(leftCount.value)
事件对象与 Typescript目标:掌握事件处理函数配合typescript如何使用
const btn=(e: MouseEvent)={ mouse.value.x= e.pageX mouse.value.y= e.pageY}h2@click="btn($event)"根组件/h2
模板 Ref与 Typescript目标:掌握ref操作DOM时如何配合Typescript使用
const imgRef= refHTMLImageElement| null(null)onMounted(()={ console.log(imgRef.value?.src)})如何查看一个DOM对象的类型:通过控制台进行查看document.createElement('img').__proto__
可选链操作符目标:掌握js中的提供的可选链操作符语法内容可选链操作符(?.)允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。参考文档:developer.mozilla.org/zh-CN/docs/let nestedProp= obj.first?.second;console.log(res.data?.data)obj.fn?.()if(obj.fn){ obj.fn()}obj.fn obj.fn()//等价于let temp= obj.first;let nestedProp=((temp=== null|| temp=== undefined)? undefined: temp.second);
非空断言-TS目标:掌握ts中的非空断言的使用语法内容:如果我们明确的知道对象的属性一定不会为空,那么可以使用非空断言!//告诉 typescript,明确的指定obj不可能为空let nestedProp= obj!.second;注意:非空断言一定要确保有该属性才能使用,不然使用非空断言会导致bug
TypeScript类型声明文件基本介绍今天几乎所有的 JavaScript应用都会引入许多第三方库来完成任务需求。这些第三方库不管是否是用 TS编写的,最终都要编译成 JS代码,才能发布给开发者使用。我们知道是 TS提供了类型,才有了代码提示和类型保护等机制。但在项目开发中使用第三方库时,你会发现它们几乎都有相应的 TS类型,这些类型是怎么来的呢?类型声明文件类型声明文件:用来为已存在的 JS库提供类型信息TS中有两种文件类型:1.ts文件 2.d.ts文件.ts文件:既包含类型信息又可执行代码可以被编译为.js文件,然后,执行代码用途:编写程序代码的地方.d.ts文件:只包含类型信息的类型声明文件不会生成.js文件,仅用于提供类型信息,在.d.ts文件中不允许出现可执行的代码,只用于提供类型用途:为 JS提供类型信息总结:.ts是 implementation(代码实现文件);.d.ts是 declaration(类型声明文件)如果要为 JS库提供类型信息,要使用.d.ts文件
内置类型声明文件TS为 JS运行时可用的所有标准化内置 API都提供了声明文件比如,在使用数组时,数组所有方法都会有相应的代码提示以及类型信息:const strs= ['a','b','c']//鼠标放在 forEach上查看类型strs.forEach实际上这都是 TS提供的内置类型声明文件可以通过 Ctrl+鼠标左键(Mac:Command+鼠标左键)来查看内置类型声明文件内容比如,查看 forEach方法的类型声明,在 VSCode中会自动跳转到 lib.es5.d.ts类型声明文件中当然,像 window、document等 BOM、DOM API也都有相应的类型声明(lib.dom.d.ts)
第三方库类型声明文件目前,几乎所有常用的第三方库都有相应的类型声明文件第三方库的类型声明文件有两种存在形式:1库自带类型声明文件 2由 DefinitelyTyped提供。库自带类型声明文件:比如,axios查看 node_modules/axios目录
解释:这种情况下,正常导入该库,TS就会自动加载库自己的类型声明文件,以提供该库的类型声明。由 DefinitelyTyped提供DefinitelyTyped是一个 github仓库,用来提供高质量 TypeScript类型声明DefinitelyTyped链接可以通过 npm/yarn来下载该仓库提供的 TS类型声明包,这些包的名称格式为:@types/*比如,@types/react、@types/lodash等说明:在实际项目开发时,如果你使用的第三方库没有自带的声明文件,VSCode会给出明确的提示import _ from'lodash'//在 VSCode中,查看'lodash'前面的提示解释:当安装@types/*类型声明包后,TS也会自动加载该类声明包,以提供该库的类型声明补充:TS官方文档提供了一个页面,可以来查询@types/*库@types/*库
自定义类型声明文件项目内共享类型如果多个.ts文件中都用到同一个类型,此时可以创建.d.ts文件提供该类型,实现类型共享。操作步骤:创建 index.d.ts类型声明文件。创建需要共享的类型,并使用 export导出(TS中的类型也可以使用 import/export实现模块化功能)。在需要使用共享类型的.ts文件中,通过 import导入即可(.d.ts后缀导入时,直接省略)。
为已有 JS文件提供类型声明在将 JS项目迁移到 TS项目时,为了让已有的.js文件有类型声明。成为库作者,创建库给其他人使用。演示:基于最新的 ESModule(import/export)来为已有.js文件,创建类型声明文件。
类型声明文件的使用说明说明:TS项目中也可以使用.js文件。说明:在导入.js文件时,TS会自动加载与.js同名的.d.ts文件,以提供类型声明。declare关键字:用于类型声明,为其他地方(比如,.js文件)已存在的变量声明类型,而不是创建一个新的变量。
对于 type、interface等这些明确就是 TS类型的(只能在 TS中使用的),可以省略 declare关键字。对于 let、function等具有双重含义(在 JS、TS中都能用),应该使用 declare关键字,明确指定此处用于类型声明。let count= 10let songName='痴心绝对'let position={ x: 0, y: 0}function add(x, y){ return x+ y}function changeDirection(direction){ console.log(direction)}const fomartPoint= point={ console.log('当前坐标:', point)}export{ count, songName, position, add, changeDirection, fomartPoint}
定义类型声明文件declare let count:numberdeclare let songName: stringinterface Position{ x: number, y: number}declare let position: Positiondeclare function add(x:number, y: number): numbertype Direction='left'|'right'|'top'|'bottom'declare function changeDirection(direction: Direction): voidtype FomartPoint=(point: Position)= voiddeclare const fomartPoint: FomartPointexport{ count, songName, position, add, changeDirection, FomartPoint, fomartPoint}
flv.js 中文文档
<article class="_2rhmJa">
本文档使用类似TypeScript的定义来描述接口。
flv.js将所有接口都以flvjs对象暴露在全局上下文window中.
flvjs还可以通过require或ES6导入来访问对象。
方法:
类:
枚举:
根据中指定的type字段创建一个播放器实例mediaDataSource(可选)config。
如果segments存在字段,则transmuxer会将其MediaDataSource视为多部分源。
在多部分模式下,结构中的duration filesize url字段MediaDataSource将被忽略。
如果基本上可以再您的浏览器上播放则返回true
返回FeatureList具有以下详细信息的对象:
实现Player接口的FLV播放器。可以通过new操作进行创建
Player wrapper for browser's native player(HTMLVideoElement) without MediaSource src, which implements the Player interface. Useful for singlepart MP4 file playback.
A global interface which include several static getter/setter to set flv.js logcat verbose level.
一个全局接口,其中包括几个用于设置flv.js logcat详细级别的静态getter/ setter。
一系列可以和 Player.on()/ Player.off()一起使用的常数.它们需要前缀 flvjs.Events.
播放期间可能出现的错误。它们需要前缀flvjs.ErrorTypes。
针对网络和媒体错误提供更详细的说明。它们需要前缀flvjs.ErrorDetails。
</article>
4人点赞
日记本
axious中文文档
Axios是一个用于浏览器和 Node.js的基于 Promise的 HTTP库。
可通过 npm、bower或 CDN方式安装 Axios。
使用 Axios,可以轻松执行 GET、POST、DELETE、HEAD、OPTIONS、PUT、PATCH等请求。
所有支持的请求方法都提供了别名,如 Axios.request、Axios.get等,无需在配置中指定 url、method、data。
处理并发请求时,可以使用 Axios.all和 Axios.spread方法。
创建 Axios实例时,可以自定义配置,使用 Axios.create方法。
实例方法包括 request、get、delete、head、options、post、put、patch等。
请求配置包含 url、method、data、headers等选项。
响应结构包括状态码、数据、配置、请求 URL和其他响应头。
可以通过配置默认值来指定使用在每个请求中的默认配置。
在实例上使用拦截器可以拦截请求和响应。
使用 validateStatus配置选项可自定义 HTTP状态码的错误范围。
通过 cancel token可以取消请求,axios.cancelToken API用于创建 cancel token。
在浏览器中,使用 URLSearchParams API或 qs库以 application/x-www-form-urlencoded格式发送数据。
在 Node.js中,使用 querystring模块或 qs库以相同格式发送数据。
在 Axios达到 1.0版本之前,API可能会有破坏性更改,遵循 SemVer标准。
Axios依赖 ES6 Promise实现,不支持原生 Promise的环境可使用 polyfill。
Axios包含 TypeScript定义,有助于 TypeScript开发。
好了,文章到此结束,希望可以帮助到大家。