<分区>
这是我的模型类:
'use strict'
import MongoDb from 'database/mongodb'
export default class Model {
constructor (options) {
this.data = this.sanitize(options)
}
objectId (_id) {
// https://stackoverflow.com/questions/17545311/correct-way-to-search-for-mongodb-entries-by-id-in-node
const mongodb = new MongoDb()
const objectId = mongodb.objectId
return objectId(_id)
}
async db () {
const mongodb = new MongoDb()
const connection = await mongodb.connect()
return connection
}
sanitize (options) {
return options
}
async insert (options) {
//
}
async find (options) {
//
}
async remove (options) {
//
}
}
我有一个用户类从它扩展:
'use strict'
import lodash from 'lodash'
import Model from 'model'
import schemas from './schemas'
export default class User extends Model {
constructor (options) {
super(options)
}
sanitize (options) {
let data = options || {}
let schema = schemas.user
let keys = lodash.keys(schema)
let defaults = lodash.defaults(data, schema)
let picked = lodash.pick(defaults, keys)
return picked
}
...
...
}
但根据standardjs :
standard: Use JavaScript Standard Style (https://standardjs.com)
/var/www/html/.../user/models/user.js:8:3: Useless constructor.
为什么我的构造函数
是无用的
?
据我所知,我必须在我的扩展类中使用super()
,即使我还没有完全理解它。我用错了吗?
有什么想法吗?
编辑:
如果我省略扩展类中的构造函数
,我将得到这个错误:
Syntax Error: missing super() call in constructor