【发布时间】:2021-02-19 07:47:12
【问题描述】:
我在 js 中创建了一个类,它创建了一个这样的 MySQL 模型:
class Model {
constructor(options = {}, table) {
this.options = options;
this.table = table;
this.create();
}
create() {
let queryString = `INSERT INTO ${this.table}`;
let fieldsString = ``;
let valuesString = ``;
for (let prop in this.options) {
fieldsString += `${prop},`;
valuesString += `${this.options[prop]},`;
//console.log(prop, this.options[prop]);
}
fieldsString = fieldsString.slice(0, -1);
valuesString = valuesString.slice(0, -1);
queryString = `${queryString} (${fieldsString}) VALUES (${valuesString})`;
console.log(queryString);
}
}
class UsersModel extends Model {
constructor(options = {}, table) {
super(options, table);
this.table = "users";
}
}
const u1 = new UsersModel({
username: "test",
mail: "darya",
});
当我运行构造函数变量queryString 看起来像这样:INSERT INTO undefined (username, mail) VALUES (test, Darya) 为什么this.table 未定义?我错过了什么?
我将不胜感激!
【问题讨论】:
标签: javascript mysql node.js oop