惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Stack Overflow Blog
Stack Overflow Blog
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
腾讯CDC
C
CERT Recently Published Vulnerability Notes
博客园 - 聂微东
L
LINUX DO - 热门话题
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
WordPress大学
WordPress大学
C
Cisco Blogs
A
Arctic Wolf
Latest news
Latest news
Jina AI
Jina AI
P
Proofpoint News Feed
博客园 - 叶小钗
Vercel News
Vercel News
T
Threat Research - Cisco Blogs
博客园 - 三生石上(FineUI控件)
K
Kaspersky official blog
C
Check Point Blog
H
Heimdal Security Blog
博客园 - Franky
小众软件
小众软件
The Register - Security
The Register - Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
The Hacker News
The Hacker News
T
The Exploit Database - CXSecurity.com
aimingoo的专栏
aimingoo的专栏
Project Zero
Project Zero
G
GRAHAM CLULEY
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Scott Helme
Scott Helme
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
NISL@THU
NISL@THU

TypeScript

ts 生态有没有开源的简单的 kv 配置管理项目 - V2EX 你们是怎么学习 typescript 的? - V2EX 用 Go 移植的 TypeScript 7 要来了 - V2EX TypeScript5.9,仿佛走出草原来到了现代社会 - V2EX Typescript 有没有能对接 AI 的知识库或者文档?能处理稍微复杂点的类型 - V2EX typescript 如何返回一个动态对象类型 - V2EX ts 有没有直接能查看最终类型的方法 - V2EX TypeScript Native 预览版发布了 - V2EX 关于 TypeScript 装饰器和接口的问题,请教一下各位 - V2EX 你们 typescript 用自带枚举还是字符串枚举,感觉字符串枚举类型用起来有点不可靠啊 - V2EX effect-ts - V2EX typescript 达人乱入 - V2EX TypeScript 宣布原生移植计划,性能将提升 10 倍? - V2EX #笔记#更好的 ts 重载声明方法 - V2EX 使用 satisfies 实现穷举类型保护 - V2EX 请教一个 TS 问题,不知能否实现 - V2EX 装饰器能不能装饰类的所有方法 - V2EX TypeSciprt 类型推断,如何进一步收窄类型? - V2EX TypeScript 项目打包发布到 npm,如何给方法和接口添加 dts TypeScript 类型推导真强大。 - V2EX 为啥下面这段代码 TS 不报错 - V2EX ts 类型约束+请求参数校验+自动生成 openapi/swagger 文档,这三者目前有整合为一体的最佳实践吗 - V2EX TypeScript 能不能别这么古怪,这行为什么会报错呢? - V2EX 怎么每次碰到想不通的代码行都出在 TypeScript😢 这行到底哪里有问题? - V2EX 低估了 typescript 的难度 - V2EX 前端写 nestjs 后端,用 TypeORM 时感到非常困惑,不知道是不是我的理解有问题 - V2EX 我列举了市面上最好的几个 TypeScript 教程, 想深入学习 TypeScript 的同学以后不用走弯路了 - V2EX typescript 如何忽略泛型参数啊? - V2EX TypeScript 现在的应用场景 - V2EX ==TypeScript 写的 npm 包可以用 javascript 使用包的函数吗 - V2EX react 如何优雅的实现批量删除+二次确认 - V2EX TypeScript 怎么 wrap 一个函数并修改一下返回值? - V2EX 想请教个 TypeScript 抽象类继承父类的问题。 - V2EX vscode 纯 js 项目有类型推断和成员变量提示,但是如果 ts 混用的话, js 导入就全变成 any 了,请问有办法解决吗 这个项目这样定义 Typescript 类型和使用,学到了,有几个问题? - V2EX 请教一个 Typescript 的问题 - V2EX 这种的类型是不是实现不了(TypeScript) - V2EX 问题一个 typescript 类型包裹问题 - V2EX 遇到了极其诡异的不符合进入 if 条件的要求但是还是进入了 - V2EX typescript 的类型处理 - V2EX 想问问大家 TypeScript 中关于 null 处理的方式 - V2EX 有没有声明 typescript 类型的好办法以及前端样式的健壮性问题 - V2EX typescript 类型断言问题 - V2EX TypeScript 中类型编程简介 - V2EX [求助] 类型 { K:V } --> { "type": K , "conf": V } 且约束 - V2EX 大佬们, vscode 开发 ts,这个地方的提示,怎么修改成中文啊 - V2EX TypeScript 中「类型定义的命名空间」使用 - V2EX 有没有办法把 ts 的 error 报错改成 warning - V2EX [求助] 函数中使用泛型缩小参数类型 - V2EX
这样的函数类型定义在 ts 里面叫什么? - V2EX
waiaan · 2024-07-11 · via TypeScript

这是一个创建于 704 天前的主题,其中的信息可能已经有所发展或是发生改变。

type ClassA = {
  prop1: string
  prop2: number
  prop3?: string
}

const a = {
  prop4: '123',
  // 这个 prop5 是函数的类型定义吗?
  prop5: (): ClassA => {
    return {
      prop1: '1',
      prop2: 2
    }
  }
}

如何理解这个 prop5 的类型定义?有没有相关文档可以学习一下?谢谢。

  • 函数
  • 类型
  • 定义

    9 条回复    2024-07-21 18:46:26 +08:00

    edz

    1

    edz      2024 年 7 月 11 日

    去看一眼函数类型都能知道了吧

    bgm004

    3

    bgm004      2024 年 7 月 11 日

    prop5: (): ClassA 这里表示 prop5 这个函数的返回值是 ClassA 的实例

    ruyan2013

    6

    ruyan2013      2024 年 7 月 11 日

    "prop5 的类型定义" 这么表达,似乎不太准确,

    这里 prop5 是一个对象上的 key ,值为一个函数,并不是“类型定义”。这里写的 ClassA 是在强制声明一下此函数返回值符合 ClassA 的类型定义。不写也没关系,这里 ts 可以推断也符合 ClassA

    nitmali

    7

    nitmali      2024 年 7 月 11 日

    prop5 是函数名,

    ClassA 是函数返回类型,

    prop5: (): ClassA => {
    return {
    prop1: '1',
    prop2: 2
    }
    }
    是箭头函数

    bgm004

    8

    bgm004      2024 年 7 月 11 日

    @sunjourney type ClassA 前面不是有 type 吗。这不是一个 Class ,只是类型别名。

    ParkinLin

    9

    ParkinLin      2024 年 7 月 21 日

    `prop5` 是 `a` 对象的箭头方法,不是类型定义,类型定义是 `prop5` 后面的 `(): ClassA` 这部分,只不过 `prop5` 是无参箭头方法,所以把你和类型定义的语法绕进去了......(我也被坑过!!!)
    一种可视化的调试是,我们直接把代码复制到 TS 的在线游乐场,编译完就只剩下下面这些代码了:
    ```js
    const a = {
    prop4: '123',
    // 这个 prop5 是函数的类型定义吗?
    prop5: () => {
    return {
    prop1: '1',
    prop2: 2
    };
    }
    };
    ```
    可以看到,代码中被擦除的和逻辑无关的部分就是 TS 的类型定义,剩下的则是 JS 的功能逻辑。
    另外,ES5 之前的函数既可以是函数,也可以是 lambda 表达式,还可以是构造函数。ES6 之后,为了区分函数在不同编程范式中的语义,JS 引入箭头函数表示 lambda ,引入 class 表示构造函数。
    这里的 `prop5` 虽然看似箭头函数,但由于它是 `a` 对象的属性,所以准确的术语是“箭头方法”。
    ( PS:这并不会影响我们修炼“类型体操”,只是表述更加专业。)