草庐IT

es6-class

全部标签

javascript - 关联数组 - ES6

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我知道我可以声明一个关联的“数组”,例如:varmyData={foo:'val1',bar:'val2',baz:'val3'};在ES6中声明关联数组的标准做法是什么?

javascript - ES6 中 let 提升的目的是什么?

我明白let将被提升到block的顶部,但在初始化之前访问它会抛出ReferenceError由于在TemporalDeadZone例如:console.log(x);//WillthrowReferenceErrorletx='somevalue';但是像这样的代码片段将运行而不会出错:foo();//alertsfoo;functionfoo(){//foowillbehoistedalert("foo");}我的问题let的目的是什么?当它会在访问时抛出错误时被提升到顶部?也做var也遭受TDZ,我知道它什么时候会抛出undefined但这是因为TDZ吗?

javascript - 在 ES6 中,有 iterator.next();有没有办法提供 iterator.previous()?

完整的ES6Compatibilitytable.刚进入Set()。constset=newSet();set.add('foo');set.add('baz');constiterator=set.values();iterator.next();//{value:"foo",done:false}iterator.next();//{value:"baz",done:false}是否可以编写类似于iterator.next()的方法,但它向后迭代而不是向前迭代(即iterator.previous())? 最佳答案 values

javascript - 如何在支持 tree shaking 的同时使用 `chain` 和 `lodash-es`?

众所周知,lodash-es使用更模块化的语法构建,以通过构建工具支持treeshaking。但是,chain相关的功能意味着一些功能附加到对象/原型(prototype)链。我可以看到chain是用lodash-es发布的,但我不确定如何通过其他链接方法正确导入它。用例可能如下所示:import{chain}from'lodash-es'exportfunctiondouble(input){returnchain(input).without(null).map(val=>val*2).value().join(',')}编辑#1:重点不在于如何导入chain,而在于如何导入其他c

javascript - Webpack 在使用继承缩小/丑化 ES6 代码时删除了类名

Webpack在使用继承缩小/丑化ES6代码时删除了类名:有MVCE我们尝试缩小/丑化的代码:子类:constParentClass=require('parent');classChildextendsParentClass{constructor(){super();}}module.exports=Child;index.js调用Child类:constChild=require('./classes_so/child');letchild=newChild();console.log(child.constructor.name);node_modules中的ModulePar

javascript - JavaScript 可以优化这个对象吗?

假设我们像这样定义一个新对象:constfoo={number1:1,number2:2}这应该使用这两个属性定义一个新的“隐藏类”。现在假设我使用ES6类语法定义了一个新类。classNumbers{constructor(){this.number1=1this.number2=2}}然后我从中创建一个新对象。constbar=newNumbers()现在的问题是:bar的“隐藏类”是否与foo的隐藏类相同?因为我想象的是,第一个定义将创建一个具有两个属性的新“隐藏类”,而第二个定义将创建一个新的“隐藏类”,然后它将创建一个具有一个属性的新“隐藏类”然后用另一个属性创建另一个“隐藏

JavaScript 从非 ES6 类覆盖到 ES6 类

在我的Webapp中,我需要实现一个API,它不包含任何ES6类定义,但我想扩展其中一个类并覆盖一些方法。覆盖无法正常工作...functionA(){this.msg=function(){console.log("A");}}classB{constructor(){A.call(this);}msg(){console.log("B");}}newB().msg();我希望结果是“B”,但是“类”A的方法被执行了。 最佳答案 问题是在A中,msg函数附加到构造函数中的this-那也就是说,msg属性直接附加到实例对象本身,而不

javascript - 如何在不同的上下文中使用 es6 构造函数指令

是否可以通过更改“this”上下文(调用、应用或其他)在另一个实例上使用es6构造函数指令?这可以使用es5“类”。这是我的意思的一个小例子:functionES5(){this.foo='foo';}classES6{constructor(){this.bar='bar';}}vara=newES6();ES5.call(a);console.log(a.foo+a.bar);//foobarvarb=newES5();//Reflect.construct(ES6);??ES6.call(b);//TypeError:ClassconstructorES6cannotbeinvo

javascript - 除了对象之外,在 JavaScript 中调用的可实例化 "class"是什么?

我有一个这样的对象:functionPerson(){}除了对象,你会怎么调用它?明明不是类,那又是什么?我正在寻找一个不是对象的术语,因为我想特别强调您可以创建它的新实例这一事实。 最佳答案 “functionPerson(){}”是类型的构造函数。newPerson()的值将是类型Person的实例(或对象)。 关于javascript-除了对象之外,在JavaScript中调用的可实例化"class"是什么?,我们在StackOverflow上找到一个类似的问题:

javascript - knockout : Change css class based on value of observable

我在可观察数组上使用foreach:如您所见,我将可用性的当前值传递给函数availabilityCssClass,该函数将该值与一些预定义的字符串进行比较。根据匹配的字符串,它返回一个类名。self.availabilityCssClass=ko.computed(function(value){varavailability=value;if(availability==="Busy"||"DoNotDisturb"||"BeRightBack")return"leftStatusCellColorOrange";elseif(availability==="Away"||"Off