javascript - 哪个版本的Javascript

标签 javascript angularjs node.js

注意:我知道这可能是一个简单而基本的问题,但我在几年前才开始学习 Javascript,当时所有这些变化都开始发生,而且我似乎学的是旧版本。

我对 Javascript 感到困惑。我正在尝试实现一个基本的 MEAN 堆栈。我在服务器端使用 es6 Javascript 和 Nodejs (6.x)。然后对于客户端,我在 es5 Javascript 中使用 Angular 1.5,但它似乎无法正常工作。

是否可以在服务器端混合使用 es6 并在客户端使用 es5,或者全有或全无...在服务器/客户端上全部使用 es6,反之亦然?

更新 感谢您提供所有信息。我一直在研究 ES6(ES2015),它似乎并不难,我什至成功地在其中编写了一些代码。然而,不久前我刚刚了解了 Angular 1,然后似乎 Angular 1.6 及更高版本问世了,而且非常不同。 Angular 1 的学习曲线相当曲折,将我的 Angular 1 代码更新到 1.6 或更高版本有多难?较新的 Angular 是用 ES6 编写的吗?所有用 ES6 编写的前端 JS 都需要一个编译器,或者浏览器现在可以处理 ES6 了吗?

最佳答案

Is is possible to mix es6 on server-side and use es5 on client-side OR is all or nothing... all es6 on both server/client or vice versa?

可以在服务器和客户端上混合使用完全不同的语言,例如服务器上的 PHP 或 Java 或 Ruby 或 C#,以及客户端上的 JavaScript。所以,是的,如果您想在服务器端 Node 代码中使用 ES2015(又名“ES6”)和更高版本的功能,并在客户端浏览器代码中限制自己使用 ES5 和更早的功能,这很好。

不过,您不必这样做,而且一旦您习惯了编写 letconst 以及箭头函数,这将非常困难不要让自己不小心将它们写入您的客户端代码中。因此,出于这个原因,您可能会考虑同时使用 ES2015+ 加上服务器端和客户端,并将您的客户端代码从 ES2015+ 向下“转换”为 ES5,以便在旧版浏览器上使用。有多个转译器,例如Babel .您可以使用最新的浏览器(如 Chrome、Firefox 或 Edge)进行开发,然后让您的构建工具使“生产”构建通过 Babel 传递所有客户端代码(可能使用 WebpackBrowserify)或类似的)用于较旧的浏览器,例如 IE11。

关于javascript - 哪个版本的Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43664851/

相关文章:

html - pre 标签中的 AngularJS 数据绑定(bind)

javascript - AngularJS 无法按顺序显示几个月的下拉列表

javascript - react : Rendering a "please fill out this field" warning On Hover

javascript - 如何使用 javascript 获取下拉菜单列表中项目的值?

javascript - 使用 JQuery 动态隐藏/显示 <td>

javascript - 使用 $injector.get() 获取 Angular 中的依赖项有什么缺点吗?

javascript - Facebook营销API : Param must be a valid Instagram account id

javascript - 从对象内部的字符串调用函数?

javascript - 我如何在javascript中克隆图像

node.js - 带水线的 sails 升力装置 Sails.js 数据丢失