設定でプラグインを作成しようとしています。デフォルト設定とユーザー定義の設定があります。私はどうにかしてobject
の2つをマージする必要があります。デフォルトをユーザー定義の設定とマージする
function MyPlugin(options) {
if (typeof optoins === null || typeof options !== 'object') options = {};
var defaults = {
prop1: true,
prop2: false,
prop3: 0,
prop4: 100,
}
// Set default options
for (var name in defaults) {
!(name in options) && (this.options[name] = defaults[name]);
}
}
var test = new MyPlugin();
しかし、私はエラーが言ってます::私は次のことを試してみました
Uncaught TypeError: Cannot set property 'prop1' of undefined
は私が間違って何をやっているし、どのように私はそれを修正することができますか?
'this.options'はおそらく' options'でなければなりません。ちょうど 'optoins'のように。 'typeof'は常に文字列を返します。これはヌルの' 'オブジェクト ''です。 – Oriol
'this.options'!==' options'。また、 'typeof optoins === null'は意味をなさない。多分ちょうど: '!options || typeof options!== 'object'' –
@ AlexanderO'Maraありがとう! 'this.options!== options'をどうすればいいのかよく分かりません。 – Jessica