Tag: ecmascript 6

Javascript ES6跨浏览器检测

我怎样才能找出浏览器的Javascript引擎版本,并支持ECMAScript 6? 我使用navigator.appVersion只是为了了解浏览器的版本,而不是引擎的版本。

获取ES6类实例的类名

是否有任何“和谐”的方法来从ES6类实例获得类名? 以外 someClassInstance.constructor.name 目前我正指望Traceur的实施。 而且Babel似乎有一个用于Function.name polyfill,而Traceur则没有。 综上所述:在ES6 / ES2015 / Harmony中没有其他方法,ES中没有预期的ATM。 它可能为非服务器端应用程序提供有用的模式,但在浏览器/桌面/移动应用程序中是不需要的。 Babel 使用core-js j来填充Function.name ,它应该适当地为Traceur和TypeScript应用程序手动加载。

我为什么要使用ES6类?

我有很多关于ES6类的问题。 因为我知道如何使用函数和WebComponent,React&so。 我没有看到使用它的许多好处。 我想知道使用类有什么好处。 我读到public / private / static将成为ES7的一部分。 所以我目前没有看到使用它的意思。 而且,类会是面向对象的概念,还是“javascript对象概念”? 这是不是说我不能用.prototype来修改它? 还是只是两个不同的方式来声明它是同一个对象。 速度有没有好处? 如果您拥有Big Java应用程序这样的大型应用程序,维护/理解起来会更容易一些吗? tl;dr : The question is in the title. 信息 :我注意到现在人们还是来看这个2年多前的q / a了。 答案仍然是准确的,但记住JavaScript已经演变了一点。

为什么没有instanceof在babel-node下的Error子类的实例上工作?

我看到在OS X上运行babel-node版本6.1.18 /节点版本5.1.0时, instanceof运算符不能运行在Error子类的实例上。为什么? 相同的代码在浏览器中运行良好,请尝试我的小提琴示例。 下面的代码在浏览器中输出true ,而在babel-node下则为false: class Sub extends Error { } let s = new Sub() console.log(`The variable 's' is an instance of Sub: ${s instanceof Sub}`) 我只能想象这是由于babel-node中的错误,因为instanceof对于其他基类的工作比Error 。 .babelrc { "presets": ["es2015"] } 编译输出 这是由babel 6.1.18编译的JavaScript: 'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a […]

Visual Studio 2015 JSX / ES2015语法高亮显示

如何在Visual Studio 2015中使用ES2015代码获得正确的语法突出显示? 它工作正常,如果我删除import和export关键字: 我刚刚更新到Visual Studio 2015年企业更新1,但仍然保持不变。

如何避免在Angular 2中input很长的相对path?

我怎样才能引入像'my-app-name/services'以避免行像下面的导入? import {XyService} from '../../../services/validation/xy.service';

对象字面意义上的属性名称周围的方括号是什么意思?

我一直在JS写一段时间,并没有使用这种forms: dist: { files: { [bpr + 'lib/Monster.min.js']: ['<%= concat.dist.dest %>'] } } } 该 []:[] 它的工作,我只是没有使用过或看过它。

我怎样才能从一个正则string构造一个模板string?

所以我有这个string : var name = "Chaim"; var templateStr = "Hello, my name is ${name}"; 我怎样才能将它转换成模板string,以便结果将等于: var template = `Hello, my name is ${name}`; 有没有一种方法来编程build造一个模板文字?

为什么要将符号带入JavaScript?

正如你可能知道他们正计划在ECMAScript 6中包含新的Symbol原始types(更不用说其他一些疯狂的东西了)。 我一直认为Ruby中的:symbol概念是不必要的, 我们可以轻松地使用纯string,就像我们在JavaScript中所做的一样。 现在他们决定用JS来使JS变得复杂。 我不明白这个动机。 有人可以向我解释我们是否真的需要JavaScript中的符号? 更新 :最近来自Mozilla的一篇精彩文章出现了。 如果你好奇,请阅读。

什么是JavaScript中的“导出默认”?

文件: SafeString.js // Build out our basic SafeString type function SafeString(string) { this.string = string; } SafeString.prototype.toString = function() { return "" + this.string; }; export default SafeString; 我从来没有见过export default 。 是否有任何相当的东西export default ,可以更容易理解?