Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

别在原生上做奇怪的扩展

  今天听了 @hax 的分享后突然想到了这个话题。React 的 jsx 就是一种典型的扩展语言行为。由于 JavaScript 中目前还没有使用尖括号的语法,所以 jsx 直接利用这个语法来些 DOM 元素。那么要是哪天 JavaScript 突然将尖括号用于其它方面,并作为规范了呢?
  在语言上做扩展虽然用起来很时髦,写起来很爽,但却是件很危险的事情。我以前也打算在 CSS 上做一些扩展,但考虑到这个问题,所以后来就放弃了这个奇怪的念头。或者就 CSS 这个坑 Less 就已经踩到了。因为 Less 的变量是 @ 开头的,而 @ 被原生的 CSS 用于各种方面,所以就会呵呵。当然,由于 Less 这东西并不仅仅是 CSS 上的扩展这么简单的东西,所以它就算踩到坑也不会摔死。
  以前看到 v8 源码里的 js 部分,里面也满满的 %,当时就感受到了这个问题。要是哪天 % 打头的语法被 ES 吸收了的话那些代码要怎么办?
  我自己也挖过许多坑,比如早期的代码中我偶尔也会用 HTML 的自定义标签。比如 DIALOG 这个标签当时并不是规范的,然而现在却成了规范,于是就呵呵了。不过哪些古老的代码早已不是我在维护,所以我自己不知道踩这么操蛋的坑是怎么一种体验。还有早期写代码时经常会随随便便在 DOM 元素上添加属性,后来就不这么干了。
  其实这个问题也不是非常严重,比如 React 这东西的流行周期不会太长,它肯定是在 ES 吸收尖括号语法前就死掉的。所以有时候也不必考虑太长远的事情也没关系,可能是我杞人忧天了。
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^