jjzjj

javascript - 如何导出 ES6 类并在另一个模块中构造它的实例?

使用Node.js版本7.7.2,我想从这样的模块中定义和导出ES6类://Foo.jsclassFoo{construct(){this.bar='bar';}}module.exports=Foo;然后将该类导入另一个模块并构造该类的实例,如下所示://Bar.jsrequire('./foo');varfoo=newFoo();varfooBar=foo.bar;但是,这种语法不起作用。我尝试做的事情是否可行?如果可行,实现此目标的正确语法是什么?谢谢。 最佳答案 您必须为此使用常规Node模块语法。您的示例代码中有一些错误。

javascript - 通过 this 在 typescript 中从派生类型调用构造函数

在我的typescript中,我试图通过基类中的方法创建/克隆子对象。这是我的(简化的)设置。abstractclassBaseClass{protectedprops:TCompositionProps;protectedcloneProps():TCompositionProps{return$.extend(true,{},this.props);}//canbeoverwritenbychildsconstructor(props:TCompositionProps){this.props=props;}clone(){constprops=this.cloneProps();

javascript - TypeError AWS.KinesisVideo 不是构造函数

我使用以下命令安装了aws-sdknpminstall--saveaws-sdk我得到一个错误TypeErrorAWS.KinesisVideoisnotaconstructor对于下面的代码varkinesisvideo=newAWS.KinesisVideo();AWS.IAMisnotaconstructorJavaScriptSDK帖子提到错误可能是因为KinesisVideo模块不存在。我的问题是如何通过npm安装aws-sdk的所有模块。谢谢 最佳答案 有两种主要方法可以为浏览器(使用标记加载它)和Node.js后端下载

javascript - 为什么构造函数只能返回一个对象?

如果有这样的构造函数functiona(){}然后(newa)instanceofa===true但另一方面,functiona(){return{}}结果(newa)instanceofa===false原来我是这么想的functiona(){return123}会产生同样的结果。但是,当返回一个数字时,(newa)instanceofa===true这怎么可能?为什么我不能让构造函数返回对象以外的东西?(我知道让构造函数返回一个数字是相当无用的,但我想了解这种行为的“原因”) 最佳答案 根据规范:如果调用构造函数返回一个对象,则

javascript - 在构造一个集合后让 backbone.js 运行一个函数?

我可能在这里完全遗漏了一些东西,但我有以下内容:封装“所有”数据的模型(从一个URL加载的所有JSON)该模型有一个(或多个)集合,它正在使用构建时获得的数据进行实例化一些我想在数据初始化和加载时在集合上运行的代码我的问题是关于组合集合的。我可以在Collection的范围之外执行此操作,但我宁愿将其封装(否则将其作为带有初始化程序等的“类”有什么意义)。我想我可以将该代码放在initialize()函数中,但是它在填充模型之前运行,所以我无法访问构成集合(this.models为空)。然后我想我可以绑定(bind)一个事件,但是初始化后没有触发任何事件。如果我使用fetch从它自己的

javascript - 构造函数与闭包?

这2个对象a使用构造函数创建,b使用闭包创建,究竟有什么不同?属性__proto__是否对使用闭包无法实现的任何事情有用?我应该在不同的情况下使用这些技术吗?内存使用有区别吗?(jsFiddle)window.MODULE={};MODULE.constructor=function(){this.publicVariable=10;};MODULE.constructor.prototype.publicMethod=function(){returnthis.publicVariable;};//-------------------------------//MODULE.clo

javascript - 为什么 getPrototypeOf() 在 JavaScript 中返回不正确的构造函数?

varprotoRabbit={size:"small"};varfastRabbit=Object.create(protoRabbit);console.log(Object.getPrototypeOf(fastRabbit));以上片段打印:Object{size:"small"}这不应该打印protoRabbit{size:"small"}吗?我的理解中缺少什么? 最佳答案 打印在对象前面的名称是构造函数的名称。您的对象protoRabbit具有构造函数Object,因为您使用对象字面量创建了此对象:varprotoRab

javascript - 我可以创建一个 Array.isArray() 返回 true 的对象而不使用 Array 构造函数或数组文字吗?

通过将其原型(prototype)设置为Array.prototype,我可以轻松地使一个普通对象看起来像一个数组:constobj={};Reflect.setPrototypeOf(obj,Array.prototype);(我知道神奇的length属性和稀疏数组也存在一些问题,但这不是这个问题的重点。)我想让Array.isArray(obj)返回true(当然不修改Array.isArray()方法)。MDNpolyfillforArray.isArray()如下:if(!Array.isArray){Array.isArray=function(arg){returnObje

javascript - 如果一个对象只有一个实例,我还应该使用构造函数吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我一直深入JS世界,遇到了3种不同的方法来开发网站的前端购物车:带有原型(prototype)函数的构造函数varcart=function(){this.items={}}cart.prototype.increaseItemQty=function(partNumber){if(this.items[partNumber]){this.items[partNumber].qty+=1;

javascript - 类与构造函数与工厂函数中的澄清需要

我正在研究ES6类,我的最终目标是了解类、构造函数和工厂函数之间的区别。我当前的理解是构造函数和类基本上使用相同的设计模式,类只是构造函数的新语法。基于这个假设,我正在尝试创建一些示例来显示类/构造函数和工厂函数之间的对比。在下面的示例中,我旨在返回新对象和一些继承的方法。我的第一个示例使用类语法非常简单。示例#1:类classPerson{constructor(name,age,location,occupation){this.name=name;this.age=age;this.location=location;this.occupation=occupation;}pri