Es6 程序中的类和构造函数
Posted
技术标签:
【中文标题】Es6 程序中的类和构造函数【英文标题】:Classes and constructor in Es6 program 【发布时间】:2020-05-10 13:58:41 【问题描述】:使用一个接受 2 个参数(名称和距离)的构造函数创建一个类 car。在类中包含一个原型方法,该方法返回一条消息(msg)“汽车名称(名称)已经行驶了距离(距离)英里”。
我知道这是一个非常简单的问题,但我想我无法很好地设计代码,虽然它给了我正确的结果,但我认为按照标准它是不正确的??
class Car
constructor(name, distance)
this.name = name;
this.distance = distance;
lengthMiles()
console.log(`$this.name had travelled for $this.distance miles`)
var msg = new Car('Audi', 100);
msg.lengthMiles();
【问题讨论】:
【参考方案1】:您将通过测试的 100% 工作代码。 下面是正确的代码。只需照原样复制并在编辑器中替换并测试它。 测试后请不要忘记按赞分享答案。
class Car
constructor(name, distance)
this.name = name;
this.distance = distance;
carDistance()
return `$this.name had travelled for $this.distance miles`;
let Car1 = new Car('Audi', 100);
const msg = Car1.carDistance();
console.log(msg);
module.exports = msg
【讨论】:
请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。【参考方案2】:class Car
constructor(name, distance)
this.name = name;
this.distance = distance;
carDistance()
return `$this.name had travelled for $this.distance miles`;
let Car1 = new Car('Audi', 100);
const msg = Car1.carDistance();
console.log(msg);
module.exports = msg
【讨论】:
【参考方案3】:问题陈述如下:
在类中包含一个原型方法,该方法返回一条消息(msg)“汽车名称(名称)已经行驶了距离(距离)英里”。
这应该意味着该方法实际上使用return
而不是打印到控制台。
class Car
constructor(name, distance)
this.name = name;
this.distance = distance;
lengthMiles()
return `$this.name had travelled for $this.distance miles`;
// ^^^^^^ --------------------------- using a return statement
// |
// |
// |
var car = new Car('Audi', 100);// |
var msg = car.lengthMiles(); // |
console.log(msg);// <----------------- printing the message here
【讨论】:
谢谢,我会检查这个 另外,快速提问,当我们谈论使用原型时;它基本上是一个非构造函数/方法。 是的,class
内部定义的所有方法实际上都附加到原型上。老实说,这部分问题听起来很奇怪,因为如果你有一个类,你应该说“包含一个方法”,不需要提到原型。
感谢您的意见。真的很感激!!
令人惊讶的是,虽然代码运行;它仍然给出 npm 错误。 sn-p 如下:npm WARN notsup 跳过可选依赖:fsevents@1.2.9 不支持的平台:想要 "os":"darwin","arch":"any"(当前:"os":" linux","arch":"x64") 在 5.759 秒内审计了 6063 个包,发现 232 个高危漏洞运行npm audit fix
来修复它们,或npm audit
了解详情 > class@1.0.0 test /projects/challenge > mocha测试 --reporter mocha-junit-reporter 汽车奥迪已经行驶了 1000 英里 npm 错误!测试失败。有关更多详细信息,请参见上文。以上是关于Es6 程序中的类和构造函数的主要内容,如果未能解决你的问题,请参考以下文章