You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发Serif转译器:无需函数调用获取JavaScript的null值

无需函数调用获取JavaScript的null值(用于Serif转译器)

我正在开发一款名为Serif的新编程语言转译器,目标输出为JavaScript代码。Serif语法中没有null字面量,但需要与JavaScript生态系统互操作——而JS API经常会用到null值。目前我通过globalThis.JSON.parse("null")来获取null,但想找一种无需函数调用的更简便实现,简化输出代码里null$的定义。

Serif中的null是一个标识符,当它未被遮蔽时,需要映射到JavaScript的null值,示例如下:

example.serif(输入文件)

Object.create null;

当前example.js(输出文件)

const null$ = globalThis.JSON.parse("null");
Object.create(null$);

优化方案

最直接且高效的解决方式是直接使用JavaScript原生的null字面量来定义null$,完全不需要任何函数调用:

const null$ = null;

优化后的输出文件变为:
example.js(优化后输出文件)

const null$ = null;
Object.create(null$);

如果出于某些特殊原因不想直接写null字面量,还有一种无函数调用的小众写法(但实用性远不如前者):

const null$ = Object.getPrototypeOf(Object.prototype);

原理是Object.prototype的原型本身就是null,不过这种写法代码冗余、可读性差,不推荐使用。

内容的提问来源于stack exchange,提问作者davidchambers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:47:30