gpt4 book ai didi

javascript - 为什么 React 源代码是用 JavaScript 而不是 TypeScript 编写的,但仍然有类型?

转载 作者:行者123 更新时间:2023-12-04 17:18:31 24 4
gpt4 key购买 nike

所以我最近正在阅读 React 源代码,发现所有文件都是 .js 而不是 .ts
更让我震惊的是,在那些 .js 文件中,它们实际上使用的是 TypeScript 语法,包括类型和所有内容......
这可能是 super 无知,但这是某种高级黑魔法吗?
here's an image of my vsCode freaked out with me...

几天后回答我自己的问题:
(感谢@Evert)
以防万一其他人将来有同样的问题,React 源代码写在 Flow .文件扩展名仍然是 .js,并且这些文件中有类型。如果没有安装 Flow,vsCode 不明白它是什么,只会报告一堆错误......

最佳答案

您可以将类型粘贴到 JavaScript 代码中,名为“TypeScript 类型声明”,扩展名为 .d.ts。当 TypeScript(或带有智能感知的编辑器)看到同名的 javascript 文件和 .d.ts 文件时,它将从该文件中导入类型定义。
有一个项目旨在为每个 JavaScript 库提供类型定义,也许你听说过 DefinitelyTyped .
例如:

// example.js
function hello(name) {
console.log(`Hello ${name}!`);
}


// example.d.ts
function hello(name: string);


// main.ts
import { hello } from 'example';
hello(42); // Error! "name" must be a string
相同的系统已被用于在 React 中提供类型

关于javascript - 为什么 React 源代码是用 JavaScript 而不是 TypeScript 编写的,但仍然有类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67702580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com