为什么 ES12 的数字分隔符特性没有实现

为什么 ES12 的数字分隔符特性没有实现

前言

JavaScript 的 ES6 引入了很多新特性,为开发者们增强了很多方便,ES6 的出现大大推动了前端开发的发展。而随着 ES6 版本的不断丰富,ES12 作为 JavaScript 的新版本,也引入了很多新特性。但是,在 ES12 版本中,一些开发者期望已久的数字分隔符特性并没有被实现。那么,作为新技术,为什么 ES12 的数字分隔符特性没有实现呢?本文将详细探究这个问题,并为读者提供指导性的意义。

什么是数字分隔符特性

在介绍 ES12 数字分隔符特性是否实现的原因之前,我们需要先了解一下数字分隔符特性是什么。

数字分隔符特性,是一种可以让开发者在数字中添加下划线的方法,让数字更易于阅读和理解。例如,在传统的 JavaScript 代码中,有很多常量数字,例如像 10000 这样的数字,读起来不仅容易出错,而且很不直观。而有了数字分隔符特性之后,开发者可以把数字写成 10_000 的形式,不仅能够使代码更加易读,而且能够增强代码的可维护性和可读性。

为什么 ES12 的数字分隔符特性没有实现

首先,需要明确的是,数字分隔符特性并非一项刚需技术,因此 ES12 对其没有进行实现并不是很让人惊讶。尽管数字分隔符特性能够增强代码可读性,但仅仅依靠它并不能解决代码可读性的根本问题。而且,数字分隔符特性本身也存在一些值得注意的问题。

问题 1:不利于代码压缩

尽管数字分隔符特性能使代码更易于阅读和理解,但它实际上会导致代码压缩不佳的问题。这是因为在代码压缩的过程中,分隔符“_”会被压缩器错误的解读为一个变量,导致代码执行出错。

示例代码如下:

----- - - -------

在代码压缩之后,它可能被压缩成这样:

----- - - ------

这个失误将导致代码出现错误,从而影响到用户的使用体验。

问题 2:不利于跨平台开发

数字分隔符特性目前只在 JavaScript 和 TypeScript 中受支持。因此,如果开发者需要编写能够运行在其他编程语言平台的代码时,它并不能起到很大的作用。这也是数字分隔符特性未被实现的另一个原因。

问题 3:即便实现,也无法大规模应用

数字分隔符特性实际上是一个由 TC39(一种 JavaScript 标准的委员会)提出的建议,但是它并没有在 ES12 中得以应用。这是因为即便这个特性被应用了,它也只能在最新的浏览器中运行,而不能应用于旧版的浏览器和移动设备。因此,即使数字分隔符特性在 ES12 中得到了实现,它也无法大规模应用。

结论

数字分隔符特性的提出是为了增强代码可读性,让代码更易于维护。但是,数字分隔符特性也因为一些问题而未被应用于 ES12 中。除了导致代码压缩不佳和不利于跨平台开发之外,即便它被应用于 ES12 中,也难以大规模运用。因此,作为开发者们,我们不能完全依靠单一的技术来提高代码可读性,而是应该采用多种技术手段来提升代码的质量和易读性。

参考资料

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/670f3e025f55128102635fde