1. ホーム
  2. javascript

[解決済み】classMethodsとinstanceMethodsを順番に並べる

2022-02-15 13:50:17

質問

Nodeに関するあらゆる冒険を始めたところです。私が学ぼうとしているツールの1つがSequelizeです。そこで、私がやろうとしていたことを始めます。

'use strict';
var crypto = require('crypto');

module.exports = function(sequelize, DataTypes) {
  var User = sequelize.define('User', {
    username: DataTypes.STRING,
    first_name: DataTypes.STRING,
    last_name: DataTypes.STRING,
    salt: DataTypes.STRING,
    hashed_pwd: DataTypes.STRING
  }, {
    classMethods: {

    },
    instanceMethods: {
      createSalt: function() {
        return crypto.randomBytes(128).toString('base64');
      },
      hashPassword: function(salt, pwd) {
        var hmac = crypto.createHmac('sha1', salt);

        return hmac.update(pwd).digest('hex');
      },
      authenticate: function(passwordToMatch) {
        return this.hashPassword(this.salt, passwordToMatch) === this.hashed_pwd;
      }
    }
  });
  return User;
};

をいつ使うか迷っています。 classMethods. について考えるとき、私には {コード と {コード {コード はクラスメソッドであるべきです。これらは一般的なもので、ほとんどの場合、特定のインスタンスとは何の関係もなく、ただ一般的に使用されるものです。しかし、私が instanceMethods と {コード {コード で {コード から呼び出すことができません。 createSalt().

のバリエーションを試しました。

hashPassword()

以下のようなものはうまくいきませんし、私が単純なことを理解していないだけかもしれません。

createSalt()

何かヒントやヒントや方向性があれば、とてもとてもありがたいことです。

解決方法は?

インスタンスの型を変更したりチェックしたりしないメソッドは、すべて {コード で、残りは {コード {コード

hashPassword()