首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >声明或分配类型的最佳实践

声明或分配类型的最佳实践
EN

Stack Overflow用户
提问于 2022-06-22 20:32:37
回答 1查看 43关注 0票数 2

我是TypeScript的初学者(第一天),但我从事过高于平均水平的JavaScript项目。当涉及到在代码中声明或分配类型时,我正在寻找关于一些“最佳实践”和标准的建议。目前,我发现自己这样做是为了所有本质上使我的代码不可读的东西。

例如,考虑以下几点:

代码语言:javascript
运行
复制
import {createApp, DefineComponent} from 'vue'
import {createRouter, createWebHistory, Router, RouteRecordRaw, RouterHistory} from 'vue-router'
import NPage from '~/layouts/N-Page.vue'
const router : Router = createRouter({
  history: <RouterHistory>createWebHistory(),
  routes: <RouteRecordRaw[]>[{
    component: <DefineComponent>NPage,
    name: <string>'home',
    path: <string>'/',
  }]
})
createApp(NPage).use(router).mount('#app')

这是一个简单的main.ts设置,用于Vue.js。现在,我的IDE (IntelliJ IDEA)能够自行确定router的类型。但是,我继续并显式地声明了类型。更糟糕的是,我也为每个单独的属性(componentnamepath)声明类型。

这件事变得非常混乱,非常迅速。从表面上看,我可以推测,这不是这样的。在这种情况下,有人能指出,我们需要为哪些类型声明/分配哪些类型,哪些不是呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-22 20:52:48

这不是个好主意。

通常不使用显式类型时,类型是微不足道的推断。所有这些函数都返回类型记录已经知道的类型,依赖这些类型是完全安全的。

实际上,您的示例代码应该与普通的JS等效代码100%相同:

代码语言:javascript
运行
复制
import {createApp, DefineComponent} from 'vue'
import {createRouter, createWebHistory, Router, RouteRecordRaw, RouterHistory} from 'vue-router'
import NPage from '~/layouts/N-Page.vue'

const router = createRouter({
  history: createWebHistory(),
  routes: [{
    component: NPage,
    name: 'home',
    path: '/',
  }]
})

由于您已经在此文件中导入强类型代码,并且您没有导出任何自己的数据结构,因此这里不需要其他任何内容。

比这更具体的建议会被采纳,但我认为,在启动时,默认情况下不要使用类型,当您看到类型错误时,或者在编辑器中的令牌上悬停并看到类型any时,可以修复这些问题。any是坏的,不要让值成为any

如果您有更多关于如何处理特定类型注释的具体问题,可以为这些特定案例提出一个新的问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72721667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档