我有一个Node.js项目,在服务器上使用ES6语法,浏览器端使用非ES6语法。我也尝试过在浏览器上使用ES6语法,但是当我访问iPhones上的网站时,我遇到了一些问题,所以我回到了‘旧的javascript语法’。
我可以从Github的引导代码中看到它们使用ES6 (const,箭头函数等)。在引导v4的代码中。
在所有使用过的浏览器都支持它之前,避免使用ES6语法是否明智?我假设总是会使用一些不支持新语法的浏览器,那么为什么会有人敢使用新的语法呢?我知道这将是非常少的,但是由于使用ES6的所有东西也可能没有ES6,我不认为使用新语法是值得的,因为在我的网站上失去潜在客户的代价是值得的。
是否有一些脚本可以确保所有访问者的浏览器都支持ES6?
发布于 2016-09-25 10:15:53
在所有使用过的浏览器都支持它之前,避免使用ES6语法是否明智?
不怎么有意思。例如,您可以通过巴贝尔传输它(这就是引导v4的方法,您可以举个例子也是)。
事实上,您可能希望使用babel,即使您保证使用一个现代的JS运行时,也可以使用尚未完全标准化的语言特性。重点不是新的用户可视特性,而是程序员的生产力,您可以通过ES6在许多方面提高这一点。
您将找到关于如何使用babel 例如,在这篇博客文章中转换浏览器预期代码的明确说明。
由于使用ES6的所有东西也可能没有ES6,我不认为使用新语法是值得的,因为在我的网站上失去潜在客户的代价是值得的。
在撰写本文时,转换是一个非常重要的步骤,除非您知道自己是针对特定的JS执行环境编写的(例如,基于已知版本的WebKit /JavaScriptCore的混合web浏览器/桌面或移动应用程序)。
多年来,使用隐藏平台差异的抽象对于现在几乎所有现代浏览器中存在的许多API来说都是必不可少的,特别是(但不限于)较早版本的IE,因此,如果对您来说旧的浏览器版本很重要,那么您将仍然需要很长时间的时间。但是,不应该阻止你获得生产力的好处!
https://stackoverflow.com/questions/39685545
复制相似问题