怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  822 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

本文由 简悦 SimpRead 转码, 原文地址 zhuanlan.zhihu.com

函数、interface、enum、type、var 的申明建议使用文档注释 (持续更新中)

api function

/**
* 获取店铺签约合同信息
* @access http://api.xxx.com/getUserNameByTagIdFromServer
* @param tagId 标签id {number}
* @returns name 用户名称 {string}
*/
async function queryUserNameByTagId(tagId: string) {
const userName = await getUserNameByTagIdFromServer(tagId);
return userName;
}

interface

interface IUser {
/**
* 用户姓名
*/
name: string;
/**
* 用户年龄
*/
age: number;
}
const user = {} as IUser;
user.age = 3;
user.name = '赵云';

但很遗憾的是,当我们尝试去解构 user 对象,得到的变量,它是无法推断出注释的,如下图

然后进一步研究发现,实际上是 value 部分无法自动推断,如下:

这样的遗憾同样适用于 react hooks - useState 的解构变量(因为数组实际上也是对象,它们的 keyName 是 number)

如果您找到了以上问题的解决方案,可以在评论区留言,谢谢~~

link

// types.ts
export interface ITypeA {
/**
* tag 标签 {@link ITag}.
*/
tag: ITag;
}
export interface ITag {
/** tag id */
id: string;
/** tag name */
name: string;
}
// demo.tsx
import { ITypeA } from './types.ts';
const test: ITypeA = {
tag: {
id: '1',
name: 'A',
},
};

enum

/**
* 水果枚举定义
* @param APPLE apple 苹果
* @param ORANGE orange 橘子
*/
enum EFruit {
/** 苹果 */
APPLE = 'apple',
/** 苹果 */
ORANGE = 'orange',
}

普通变量

posted on   超级无敌美少男战士  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示