javascript - 为什么我的 Javascript 类返回不返回变量?

标签 javascript ecmascript-6

我是编码新手,所以我不确定为什么我的方法 carStats() 返回的结果正是我的 return 语句中的内容。

我尝试将 return 语句更改为以下/其他变体。

return '这辆车有 this.doors 门和 this.engine';

class Car {
    constructor(doors, engine, color) {
        this.doors = doors;
        this.engine = engine;
        this.color = color;
    }
    carStats() {
        return 'This car has ${this.doors} doors and a ${this.engine}';
    }
}

const cx2 = new Car(4, 'V8', 'green');

console.log(cx2);
console.log(cx2.carStats());

Chrome 中的控制台返回以下内容: 汽车{车门:4,发动机:“V8”,颜色:“绿色”} 这辆车有 ${this.doors} 个车门和 ${this.engine}

预期: 汽车{车门:4,发动机:“V8”,颜色:“绿色”} 这辆车有 4 个门和 V8 发动机

最佳答案

您正在使用template literals在js中不当,不是单引号而是反引号

return `This car has ${this.doors} doors and a ${this.engine}`;

关于javascript - 为什么我的 Javascript 类返回不返回变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54118582/

相关文章:

javascript - 更新状态数组中的特定对象

Javascript窗口调整大小不触发onload

javascript - node.js 模块应该导出命名函数还是对象?

javascript - JS indexOf 对象数组和 splice() 没有删除正确的对象

javascript - 如何过滤对象中特定键对应的值?

javascript - setState react 生成数组结果

javascript - 如何使 Angularjs 路由在 html5mode 上与 expressJs 路由一起工作

javascript - notification.alert 中的 Html 标签 Phonegap

javascript - Jquery:如何禁用 <TR> 中的同级下拉值

javascript - 使用 .innerHTML 添加 HTML block 时使聚合物 dom-repeat 起作用