草庐IT

ecma-international

全部标签

javascript - es2015 重新导出模块并覆盖重新导出模块的单个导出功能

我想重新导出整个模块并仅覆盖重新导出模块的特定功能。但是当相同的函数已经被重新导出时,似乎导出覆盖函数没有得到处理。(http://www.ecma-international.org/ecma-262/6.0/#sec-module-semantics-static-semantics-early-errors,'如果ModuleItemList的ExportedNames包含任何重复条目,则为语法错误。')如果我只想覆盖重新导出的模块中的特定函数或方法,我的方法背后的动机是尽量减少显式重新导出非常大或长的模块。有什么方法可以在es6/es2015中实现我的方法吗?到目前为止我的代码

javascript - NPM 不工作(找不到模块 'internal/fs' - nodejs)

更新时出现NPM错误。我最近更新到Node版本7.x。现在npm不工作了。我无法定位错误,可能是因为-npm错误!找不到模块“internal/fs”。当我运行sudonpmupdate-g-时,我得到以下信息npmERR!Linux3.13.0-101-genericnpmERR!argv"/usr/bin/nodejs""/usr/bin/npm""update""-g"npmERR!nodev7.1.0npmERR!npmv3.10.8npmERR!codeMODULE_NOT_FOUNDnpmERR!Cannotfindmodule'internal/fs'npmERR!npm

javascript - 如何告诉 eslint 允许分阶段的 ECMA-Script 动态导入

我想使用现在的“Stage-3”提案import()。如果我用ESLint整理我的代码,它会提示:Parsingerror:'import'and'export'mayonlyappearatthetoplevel这对于import的静态形式是正确的,但对于新的动态形式是不正确的。我找不到让ESLint允许这样做的正确选项。有人可以给我提示吗? 最佳答案 Gyandeep当然是对的。这不是规则的问题,而是解析器的问题(毕竟这就是解析错误的意思……)。所以我现在将babel-eslint与以下.eslintrc(摘录)一起使用:{"p

javascript - Math.sin() 在服务器/客户端上给出不同的结果?

我使用meteor。它在服务器和客户端上都使用Javascript。当我运行Math.sin(356644061314425)*10000时,我得到:-9986.46139381927在服务器上和-9986.46115497749在客户端/浏览器/应用程序上这是为什么?我怎样才能防止这种情况发生?编辑:建议的重复问题涉及度数/弧度。我认为我的更多是运行时问题。 最佳答案 我认为“如何防止这种情况发生?”的答案是“你不能”。“这是为什么?”的答案就是Math.sin的javascript实现没有确定。参见http://www.ecma

javascript - 为什么分配给 `NaN` 或 `undefined` 会导致 TypeError?

A.S.:问题是关于错误的类型,而不是关于现象"usestrict"如果NaN和undefined等系统变量发生更改,则会抛出TypeError。但为什么是类型错误呢?为什么不是语法错误?编辑:实际上,这里不是SyntaxError,因为代码段的语法没有错误。但错误的根源在于,某些protected对象无法手动更改;所以,很可能是访问错误(我知道没有这样的错误)。那么,为什么访问错误看起来像类型错误? 最佳答案 在ES5中,有6种不同的nativeerrors:EvalErrorThisexceptionisnotcurrently

javascript - 在 ES2015 中枚举通配符导入

所以,在ES2015中你可以://ModuleAexportconstFOO=0;exportconstBAR=1;//ModuleBimport*asAExportsfrom'ModuleA';console.log(AExports.FOO);//Prints0在运行时枚举ModuleA导出的官方方法是什么?import*asAExportsfrom'ModuleA';//Arethesevaluesguaranteedtobesomething?Object.keys(AExports);//Ifso,shouldIlookatenumerablevalues?[...AExpo

javascript - ECMA-262-v6 中的 'Symbol' 类型有什么意义?

ECMA-262-v6中的“Symbol”类型有何意义?对象键的快速路径实现?它在幕后做了什么-在保证底层数据不可变的情况下对其进行哈希处理? 最佳答案 符号是替代魔法名称的私钥。他们阻止使用简单的字符串来引用该字段,因此只有具有该符号的消费者才能获得访问权限。一些符号用于向运行时指示特定行为(如Symbol.iterator,它的作用很像预共享secret),而其他符号可以由库分配并有效地用于隐藏字段。通常,符号旨在替代魔法名称。您可以分配一个符号constfoo=Symbol()并有选择地传递它,而不是简单地称为“foo”的属性

javascript - 新 ECMA5 Javascript 标准中的 argument.callee.name 替代方案

这个问题在这里已经有了答案:Alternativetoarguments.callee(2个答案)关闭8年前。我正在努力将一些旧代码移植到“严格模式”,ECMA5标准中的argument.callee和类似的argument.caller等有哪些替代方案?添加信息:我没有说明为什么我需要argument.caller/callee。我正在移植的代码正在使用assert.ok(elemNode,arguments.callee.name+":Entity-"+entityId+"hasbeenfound");如果它是简单的递归,我可以使用functionname(){...functio

javascript - `InputElementDiv`在ECMAScript词法语法中代表什么

ThelexicalgrammarECMAScript的词法分析器(lexer)列出了以下标记类:InputElementDiv::WhiteSpaceLineTerminatorCommentCommonTokenDivPunctuatorRightBracePunctuatorInputElementRegExp::WhiteSpaceLineTerminatorCommentCommonTokenRightBracePunctuatorRegularExpressionLiteralInputElementRegExpOrTemplateTail::WhiteSpaceLineT

javascript - 什么是直接引用?

严格模式规则之一(AnnexC)指出:Whenadeleteoperatoroccurswithinstrictmodecode,aSyntaxErroristhrownifitsUnaryExpressionisadirectreferencetoavariable,functionargument,orfunctionname.所以在这段代码中:deletexx是一个引用。(我知道这是因为"theresultofevaluatinganIdentifierisalwaysavalueoftypeReference")。但它是直接引用吗?还有,还有其他类型的引用资料吗?间接引用?(如