jjzjj

ecmascript-intl

全部标签

javascript - ECMAScript 中的内部属性是为什么定义的?

什么InternalProperty在ECMAScript中定义为?规范是什么意思Thisspecificationusesvariousinternalpropertiestodefinethesemanticsofobjectvalues.TheseinternalpropertiesarenotpartoftheECMAScriptlanguage.Theyaredefinedbythisspecificationpurelyforexpositorypurposes.这是否意味着ECMAScript定义的内部属性不可用于编程。它们用于javascript引擎的实现?

javascript - 有人用过 ECMAScript 代理吗?

我正在尝试掌握ESx(Harmony?)Proxies.我想我现在了解基础知识,但我认为我无法利用它们。有没有人设法将它们用于任何好处?我不知道有任何图书馆或任何机构这样做过。 最佳答案 代理是一项相当具有战略意义的功能,主要用于实现绑定(bind)或高级库抽象。如果您没有看到自己代码的直接用例,请不要担心。事实上,如果您这样做了,在使用它们之前您应该至少三思——它们往往是矫枉过正的,并且有一种更简单、更有效的方法来实现同样的目的。原始提案页面上有几个示例:http://wiki.ecmascript.org/doku.php?id

javascript - ECMAScript 6 中的 Symbol.for(string)

我花了一段时间,但我终于弄清楚了ECMAScript6中符号的用途是什么:在将属性附加到共享对象时避免名称冲突-HTML元素,例如(如果你遇到同样的问题,我推荐thisarticle。)但后来我偶然发现了Symbol.for().显然ECMAScript6将维护一个全局符号注册表,您可以通过提供符号描述来使用此功能查询。再来?如果我使用符号来避免名称冲突,为什么我要让我自己的代码以外的代码使用它们?(*)我将如何避免在该全局注册表中发生名称冲突?符号共享似乎完全颠覆了这一概念,而全局注册表更是双重颠覆。(*)是的,我知道符号不是真正私有(private)的,但这不是重点。

javascript - 在 Javascript ECMAScript 6 中从类名创建对象

我想使用ES6创建对象工厂,但旧式语法不适用于新语法。我有下一个代码:exportclassColumn{}exportclassSequence{}exportclassCheckbox{}exportclassColumnFactory{constructor(){this.specColumn={__default:'Column',__sequence:'Sequence',__checkbox:'Checkbox'};}create(name){letclassName=this.specColumn[name]?this.specColumn[name]:this.spec

PhantomJS 不支持 Javascript 国际化 API

我针对使用ECMAScript国际化API的AngularJs服务运行了一系列Jasmine测试。当我通过Chrome运行它们时,它们都运行成功。但是,当我使用PhantomJS通过Maven运行它们时,它们都失败了,因为它似乎PhantomJs还不支持国际化API。我使用Intl对象进行测试时得到的错误消息是:1:ReferenceError:Can'tfindvariable:IntlinlocalizationService.js其余的测试都失败了。测试很简单,看起来像这样:it('Formatdatewithen-uslocale',(function(){vardate="0

javascript - 使用 Intl.DateTimeFormat 获取 ISO 8601

我想使用Intl.DateTimeFormat格式化一个日期,在例子中它说//whenrequestingalanguagethatmaynotbesupported,suchas//Balinese,includeafallbacklanguage,inthiscaseIndonesian太好了,所以我希望我的备用方案是ISO8601,以防某种语言不存在//i.e.thesameas/similartonewDate().toISOString();//"2014-07-31T02:42:06.702Z"不过//Intl.DateTimeFormat([locales[,option

javascript - EcmaScript-6 向后兼容性

我很想了解/弄清楚ECMAScript-6的新变化是否适用于旧浏览器。我问这个问题的原因是:我记得在ECMAScript-5中引入了'usestrict';,这是为了兼容旧版本。这意味着旧浏览器将继续正常工作,当它们在解析新的JavaScript代码时遇到'usestrict';语句时将忽略它。并且新的JS引擎将以某种特殊方式处理语句'usestrict';,详见此处Strictmode.所以,来到这个问题我非常怀疑并且很想知道兼容ECMAScript-5的浏览器在解析ECMAScript-6代码时会如何表现。我怀疑的原因是ECMAScript-6新特性涉及语法更改/更新。旧的浏览器是

javascript - ECMAScript 6 中更短的类初始化

每次我创建一些类时,我都需要执行相同的无聊过程:classSomething{constructor(param1,param2,param3,...){this.param1=param1;this.param2=param2;this.param3=param3;...}}有什么办法可以让它更优雅、更短吗?我使用Babel,因此允许使用一些ES7实验性功能。也许装饰器可以提供帮助? 最佳答案 您可以使用Object.assign:classSomething{constructor(param1,param2,param3){O

javascript - 用 ECMAScript 重写 AngularJS 2.0?

所以我今天才发现Angular2.0即将推出,他们使用ECMAScript6,但将其编译为5,等等,等等。这(使用ECMAScript)将如何影响使用?它如何与我用来调用其API的JavaScript兼容?我的意思是,将不同的语言(ES、JS)写在一起?对它的工作原理感到困惑。感谢您的帮助。编辑抱歉@Joseph如果我的问题不够清楚,但我也(主要)想知道ECMAScript5如何在浏览器中运行以及上面的第二段在上下文中保持这一点。JavaScript人员如何使用Angular2.0?ES如何与JS代码协同工作?来自docs:ThoughAngularwillbeinES6,youcan

javascript - 如何检测 ECMAscript 版本?

我想看看我在浏览器中使用的ECMAscript版本(例如chrome59),因为在处理RegExp内容时ECMAscript3和ECMAscript5之间存在一些差异。我已经找到了这方面的相关信息,但是我找不到关于如何检测ECMAscript版本的具体答案。先谢谢了。 最佳答案 也许你可以尝试使用ES6中专门添加的一些数据结构,如Map、Set等。这是为了区分介于ES5和ES6之间,但您可以查找ES5中添加的功能,这些功能在ES3中不存在在你的情况下?try{vark=newMap();console.log("ES6support