草庐IT

ecmascript-2016

全部标签

javascript - 访问器仅在针对 ECMAScript 5 及更高版本时可用

我正在尝试运行此代码,但出现以下错误:Animal.ts(10,13):errorTS1056:AccessorsareonlyavailablewhentargetingECMAScript5andhigher.Animal.ts(14,13):errorTS1056:AccessorsareonlyavailablewhentargetingECMAScript5andhigher.interfaceIAnimal{name:string;sayName():string;}classAnimalImpmimplementsIAnimal{private_name:string='

javascript - 你如何检查 ECMAScript 6 类和函数之间的区别?

在ECMAScript6中,根据规范,类的typeof是'function'。然而,根据规范,您也不允许将通过类语法创建的对象作为普通函数调用来调用。换句话说,您必须使用new关键字,否则会抛出TypeError。TypeError:类不能被函数调用所以如果不使用trycatch,这会非常丑陋并破坏性能,您如何检查一个函数是来自class语法还是来自function语法? 最佳答案 我认为检查函数是否为ES6类的最简单方法是检查.toString()的结果方法。根据es2015spec:Thestringrepresentation

javascript - EcmaScript 5 浏览器实现

所以Safari和Chrome已经开始在他们的测试版中实现一些ES5的东西。例如Object.create就在其中。你们中有人知道是否有显示浏览器进度的网站吗?ATM我需要使用Object.freeze,并想看看哪些浏览器(如果有的话)支持它。 最佳答案 这是主要引擎的最新列表:http://kangax.github.com/es5-compat-table/ 关于javascript-EcmaScript5浏览器实现,我们在StackOverflow上找到一个类似的问题:

javascript - 为什么 ECMAScript 5 中的 Object 没有 forEach 方法?

ECMAScript5的array.forEach(callback[,thisArg])非常方便地迭代数组,并且与for语法相比有很多优势:更简洁。它不会创建仅用于迭代目的的变量。它为循环的局部变量创建可见范围。它提高了性能。有没有object.forEach来替换for(varkeyinobject)的原因?当然,我们可以使用JavaScript实现,例如_.each或$.each,但这些都是性能killer。 最佳答案 好吧,自己组装起来很容易。为什么要进一步污染原型(prototype)?Object.keys(obj).f

javascript - 哪些浏览器支持 ECMAScript 6 的导入和导出语法?

我目前正在使用MEANStack编写Web应用程序,并尝试使用ECMAScript6JavaScript编写代码;但是,在使用导入和导出语法时,我在Chrome和Firefox中都遇到了错误。目前有没有完全支持ECMAScript6的浏览器?请注意:我不是在问浏览器何时支持ECMAScript6。我在问哪些浏览器支持ECMAScript6导入和导出语法。参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Features_n

JavaScript:可以使用单引号 5's Strict Mode (") 启用 ECMAScript ('use strict' use strict") 吗?

JavaScript不关心字符串是双引号"double"还是单引号'single'。ECMAScript5严格模式的每个示例都通过双引号中的"usestrict"启用。我可以执行以下操作吗(单引号):alert(function(){'usestrict';return!this;}());如果启用严格模式,这将返回true,否则返回false。 最佳答案 Foryou,withoutusingabrowserthatsupportsstrictmode:AUseStrictDirectiveisanExpressionStatem

javascript - 在 HTML 中内联 ECMAScript 模块

我一直在试验新的nativeECMAScriptmodulesupport最近已添加到浏览器中。很高兴终于能够从JavaScript直接干净地导入脚本。    /example.html?    import{example}from'/example.js';example();    /example.js    exportfunctionexample(){document.body.appendChild(document.createTextNode("hello"));};但是,这只允许我导入由单独的外部JavaScript文件定义的模块。我通常更喜欢内联一些用于初始渲染

javascript - ECMAScript 文档中的 SpreadElement 是什么?它和 MDN 上的 Spread 语法一样吗?

在ECMAScriptspecificationSpreadElement被描述SpreadElement[Yield]:...AssignmentExpression[In,?Yield]这和Spreadsyntax一样吗?Spreadsyntaxallowsaniterablesuchasanarrayexpressionorstringtobeexpandedinplaceswherezeroormorearguments(forfunctioncalls)orelements(forarrayliterals)areexpected,oranobjectexpressionto

javascript - ECMAScript 规范中的 `new Object` 与 `Object`

因此,我正在查看ES5规范中关于newObject和Object功能的定义。令我惊讶的是:newObject描述了对象构造函数如何工作的完整算法-处理不同类型的值所发生的情况。基本上在非对象上调用ToObject-对象上的标识并在null和undefined上构建。Object对于null和undefined有一个特殊的第一步,它构建一个对象,然后调用ToObject基元和对象的身份。在阅读了几次描述之后-它们看起来相同。但是,从规范中可以清楚地看出它们有些不同。例如在Array中-调用newArray指定为thefunctioncallArray(…)isequivalenttoth

javascript - ECMAScript 真的是 Lisp 的一种方言吗?

我的一个friend引起了我的注意4thEuropeanLispSymposium的欢迎信息:...implementationandapplicationofanyoftheLispdialects,includingCommonLisp,Scheme,EmacsLisp,AutoLisp,ISLISP,Dylan,Clojure,ACL2,ECMAScript,...然后问ECMAScript是否真的是Lisp的一种方言。真的可以这么认为吗?为什么?是否有一套明确定义的标准来帮助我们检测一种语言是否是Lisp的方言?或者是一种非常宽松的方言(在这种情况下,我们可以将Python、P