Skip to content

JS/TS → Python 概念映射表 ​

本页提供了 JavaScript/TypeScript 概念到 Python 的完整映射,帮助你快速建立概念对应关系。

数据类型 ​

JS/TS 概念Python 对应相似度说明详情
numberint, float中Python 区分整数和浮点数→
stringstr高基本相同,格式化语法不同→
boolean (true/false)bool (True/False)高注意首字母大写→
nullNone高用 is None 检查→
undefined--Python 无此概念-
Arraylist高可变有序序列→
Objectdict中dict 键必须可哈希→
Setset高基本相同→
Mapdict中Python dict 保持插入顺序→
Tuple (TS)tuple高Python tuple 不可变→

变量与常量 ​

JS/TS 概念Python 对应相似度说明详情
let直接赋值高无需声明关键字→
const全大写命名低只是约定,非强制→
var--不推荐,直接赋值-
模板字符串 `${}`f-string f"{}"高语法略不同→

控制流 ​

JS/TS 概念Python 对应相似度说明详情
if/else if/elseif/elif/else高elif 而非 else if→
switch/casematch/case中Python 3.10+,功能更强→
for...offor...in高关键字不同→
for...infor key in dict中遍历键名→
whilewhile高基本相同→
try/catch/finallytry/except/finally高catch → except→
throwraise高关键字不同→
&&and高使用英文单词→
||or高使用英文单词→
!not高使用英文单词→
? : (三元)x if cond else y中语序不同→

函数 ​

JS/TS 概念Python 对应相似度说明详情
functiondef高关键字不同→
箭头函数 =>lambda低lambda 仅单表达式→
默认参数默认参数高语法相同→
...args (剩余参数)*args高接收元组→
...array (展开)*list高解包列表→
解构 {a, b}**kwargs中接收字典→
returnreturn高基本相同→

类与对象 ​

JS/TS 概念Python 对应相似度说明详情
classclass高关键字相同→
constructor__init__高方法名不同→
thisself高必须显式声明→
new Class()Class()高无需 new→
extendsclass Child(Parent)高语法不同→
super()super()高基本相同→
#private_name (约定)低Python 无真正私有→
static类属性中概念类似→
get/set@property高装饰器实现→
toString()__str__高魔术方法→

模块与包系统 ​

JavaScript/TypeScriptPython相似度说明详情
import { foo } from './module'from module import foo高无需 ./ 相对路径→
import * as mod from './module'import module高导入整个模块→
export function foo() {}直接定义 (模块级可见)低Python 无需显式 export→
export default ...无直接对应低Python 使用 __all__ 控制→
export { a, b }__all__ = ['a', 'b']中控制 import *→
package.json__init__.py / pyproject.toml中包元数据和初始化→
index.js (入口)__init__.py (包入口)中Python 可重新导出成员→
node_modules/site-packages/高第三方包安装目录→
相对导入 './module'相对导入 from . import module中Python 使用点号→
绝对导入 'module'绝对导入 import module高基于模块搜索路径→

工程化工具 ​

JS/TS 概念Python 对应相似度说明详情
npm/pnpm/yarnPoetry/uv高命令类似→
npm initpoetry init / uv init高初始化项目→
npm installpoetry install / uv sync高安装依赖→
npm add <pkg>poetry add / uv add高添加依赖→
npm run <script>poetry run / uv run高运行脚本→
package.jsonpyproject.toml高项目配置→
package-lock.jsonpoetry.lock / uv.lock高锁定文件→
node_modules/.venv/中依赖目录→
ESLintRuff高代码检查→
PrettierRuff format高代码格式化→
.eslintrc.jspyproject.toml [tool.ruff]中配置文件→
TypeScriptType Hints + mypy中类型系统→
interfaceProtocol / TypedDict中接口定义→

高级特性 ​

JS/TS 概念Python 对应相似度说明详情
HOC (高阶组件)装饰器中概念类似→
Generator / yieldyield 生成器高基本相同→
Promiseasyncio.Future中异步模型不同→
async/awaitasync/await高语法相似→
using (TC39 提案)with 语句高上下文管理→

常用 API ​

JS/TS 概念Python 对应说明
console.log()print()控制台输出
JSON.parse()json.loads()JSON 解析
JSON.stringify()json.dumps()JSON 序列化
fetch() / axiosrequests / httpxHTTP 请求
setTimeout()asyncio.sleep()延时 (异步)
Array.map()map() / 列表推导映射
Array.filter()filter() / 列表推导过滤
Array.reduce()functools.reduce()归约
Array.find()next(x for x in ...)查找
Array.includes()in 运算符包含检查
Object.keys()dict.keys()获取键
Object.values()dict.values()获取值
Object.entries()dict.items()获取键值对
Array.forEach()for 循环遍历
Array.sort()sorted() / list.sort()排序
String.split()str.split()字符串分割
String.join()str.join()字符串连接
String.trim()str.strip()去除空白
String.includes()in 运算符子串检查
Math.floor()math.floor() / //向下取整
Math.ceil()math.ceil()向上取整
Math.round()round()四舍五入
Math.random()random.random()随机数

操作符 ​

JS/TSPython说明
=====Python 无严格相等,== 已足够
!==!=不等于
****幂运算
////整数除法
%%取模
??or (部分场景)Python 无空值合并
?.(无直接对应)可用 getattr() 或 try/except
...* / **展开/解包

快速对比示例 ​

数组/列表操作 ​

javascript
// JavaScript
const arr = [1, 2, 3, 4, 5]
arr.push(6)
arr.map((x) => x * 2)
arr.filter((x) => x > 2)
arr.find((x) => x === 3)
arr.includes(3)
python
# Python
arr = [1, 2, 3, 4, 5]
arr.append(6)
[x * 2 for x in arr]         # 列表推导
[x for x in arr if x > 2]    # 过滤
next(x for x in arr if x == 3)  # 查找
3 in arr                      # 包含检查

对象/字典操作 ​

javascript
// JavaScript
const obj = { name: 'Alice', age: 25 }
obj.city = 'Beijing'
Object.keys(obj)
Object.values(obj)
Object.entries(obj)
python
# Python
obj = {"name": "Alice", "age": 25}
obj["city"] = "Beijing"
obj.keys()
obj.values()
obj.items()

异步操作 ​

javascript
// JavaScript
async function fetchData() {
  const response = await fetch(url)
  const data = await response.json()
  return data
}
python
# Python
async def fetch_data():
    async with httpx.AsyncClient() as client:
        response = await client.get(url)
        data = response.json()
        return data

学习文档整合站点