2023年还有人不知道TypeScript变量声明?
declare声明的变量和模块后,其他地方不需要引入,就可以直接使用了注意我们需要在配置文件下,引入声明文件{ "compilerOptions": { ... "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"] ... }声明一个类型declare type Asd { name: string; }在include包含的文件范围内可以直接使用Asd这个typedeclare声明一个模块declare module '*.css';declare module '*.less';declare module '*.png';这样,我们可以在ts中引入相关的文件而不报错了declare声明一个变量declare var jQuery: (selector: string) => any;// 声明变量直接使用jQuery("#box")声明一个作用域declare namespace API{ interface ResponseObj { ... } ... }注意declare 与export 不要同级使用,不然的话,声明文件就需要导入了在声明文件中 type 与 interface 也可以不用加declare ,效果相同type myType = string | number;// 两者效果相同declare type myType = string | number;readonly用于标记一个属性是只读的,也就是不可修改的。什么时候要用命名空间?如果你发现自己写的功能(函数/类/接口等...)越来越多, 你想对他们进行分组管理就可以用命名空间, 下面先用"类"举例:什么是声明文件?声明文件就是给js代码补充类型标注. 这样在ts编译环境下就不会提示js文件”缺少类型”.Mock模拟接口数据模拟接口数据vue-meta主要用于管理HMTL头部标签,同时也支持SSR。vue-meta有以下特点:在组件内设置 metaInfo,便可轻松实现头部标签的管理metaInfo 的数据都是响应的,如果数据变化,头部信息会自动更新支持 SSR// 这里的?表示这个name属性有可能不存在class A { name?: string } interface B { name?: string }ts 中的type关键字type作用就是给类型起一个新名字,支持基本类型、联合类型、元祖及其它任何你需要的手写类型,常用于\color{red}{联合类型}type test = number; //基本类型 let num: test = 10; type userOjb = {name:string} // 对象 type getName = ()=>string // 函数 type data = [number,string] // 元组 type numOrFun = Second | getName // 联合类型type和interface的区别1、和接口一样,用来描述对象或函数的类型type User = { name: string age: number }; type SetUser = (name: string, age: number)=>void;vue3 中的 hooks 函数相当于 vue2 里面的 mixin 混入,不同在于 hooks 是函数。
查看详情点赞评论收藏浏览512023-03-01 10:16:11