输入标题、正文或标签,查找知识。

最近文档

软件工程 / 构建发布与运行构建环境与持续集成:为什么你电脑上能跑还不够你把收藏功能交给同事,他安装以后却打不开。原来你电脑用的是一个 Node 版本,他用另一个;你本地还有没提交的文件。要交付软件,不只需要源代码,还要让别人按照明确步骤得到能运行的结果。软件工程 / 构建发布与运行部署、发布、回滚与观察:把功能交到用户手里代码已经合并,收藏按钮却没出现在网站上。或者网站更新了,点击时提示找不到数据表。交付涉及代码、配置、数据和流量,不能只用“构建成功”判断完成。本章按一次小发布看这些环节怎样配合。语言基础 / TypeScript跨语言对照TypeScript 独有能力与缺失能力清单这一章适合在学完基础后回查:某个能力是 TypeScript 自己提供的,还是来自 JavaScript、浏览器、Node 或第三方库?先把来源认清,再讨论它擅长什么、缺少什么,就不会把“语言没有内置”误解成“整个生态都做不到”。语言基础语言基础学习路线:以 TypeScript 建立可迁移的编程模型学 TypeScript 时,你会同时遇到 JavaScript 的运行规则和 TypeScript 的类型规则。先把这两件事分清,很多报错就好理解了。按顺序做完前面的练习,再读跨语言对照;对照章节用于解释差异,不要求你同时学会五门语言。后端知识 / 身份权限与安全认证、授权与多租户:登录成功只是第一步用户把地址里的订单号从 42 改成 43,居然看到了别人订单。这不是登录失效,而是资源授权缺失。后端要分别确认调用者是谁,以及这个调用者是否能对这份数据执行当前操作。
1 / 5 · 构建环境与持续集成:为什么你电脑上能跑还不够
↑↓ 浏览 Enter 打开Esc 关闭
Damnatiox
知识文件夹

TypeScript跨语言对照

编程语言基础与跨语言模型:从 TypeScript 到 JavaScript、Java、Python、C++:TypeScript跨语言对照

0 子目录6 文档
TypeScript 跨语言对照:共同问题、JavaScript 对照、Java 对照、Python 对照、C++ 对照、能力与边界

CHAPTER OVERVIEW · 章节概览

先区分编译、类型检查与执行,再比较语言之间相似语法背后的不同约束;不把一种语言的规则直接套到另一种语言上。

本章学习路线

箭头表示建议的学习顺序;先理解问题,再逐步进入实现与实践。

flowchart LR N0["01 共同问题"] N1["02 JavaScript 对照"] N2["03 Java 对照"] N3["04 Python 对照"] N4["05 C++ 对照"] N5["06 能力与边界"] N0 --> N1 --> N2 --> N3 --> N4 --> N5

按顺序学习

6
TypeScript、JavaScript、Java、Python、C++ 总览矩阵换一门语言时,最容易误判的往往是那些“看起来很熟”的写法。五种语言都有函数和对象,但检查类型、安排异步任务、释放资源的方式并不一样。先看总表建立方向,再挑你熟悉的语言逐项对照,不用一次记住全部差异。TypeScript 与 JavaScript:增加了什么、没有改变什么可以把 TypeScript 学习分成两部分:JavaScript 真正执行的代码,以及帮助我们检查代码的类型信息。迁移旧项目时,也不必一次把所有文件重写。下面一边对照两者的写法,一边说明哪些错误类型系统能发现,哪些仍要靠运行时检查。TypeScript 与 Java:结构类型、JVM 与泛型擦除的差异从 Java 转到 TypeScript,最需要调整的是对“类型相同”的判断。两个对象即使没有声明实现同一个接口,也可能满足相同的结构要求。本章用熟悉的类、接口和泛型作比较,同时保留 JavaScript 运行时与 JVM 的差别。TypeScript 与 Python:渐进类型、运行时注解与异步模型如果你给 Python 函数写过类型提示,TypeScript 的参数标注会很容易上手。接下来要留意的不是冒号怎么写,而是类型检查器和运行时各做什么。下面从对象、空值、泛型和异步代码比较,避免把一种语言的习惯直接带到另一种里。TypeScript 与 C++:类型擦除、模板实例化、内存和对象模型C++ 模板和 TypeScript 泛型都使用尖括号,但它们对最终程序的影响很不同。前者会参与代码生成,后者通常只留下类型检查结果。把这个区别放在心里,再比较对象、资源释放和内存控制,很多表面相似的语法就能分清了。TypeScript 独有能力与缺失能力清单这一章适合在学完基础后回查:某个能力是 TypeScript 自己提供的,还是来自 JavaScript、浏览器、Node 或第三方库?先把来源认清,再讨论它擅长什么、缺少什么,就不会把“语言没有内置”误解成“整个生态都做不到”。