(広告はブロックしないでください)

クイズ » オブジェクト

1. オブジェクトリテラル

const obj = {
  true: 'a',
  ['true']: 'b',
  [true]: 'c',
};
const result = Object.keys(obj).length;

何が起こるでしょうか?

2. 計算されるプロパティキー (1/6)

const foo = 'bar';
const obj = {
  foo: 'a',
  [foo]: 'b',
};
const result = obj.foo;

何が起こるでしょうか?

3. 計算されるプロパティキー (2/6)

const foo = 'bar';
const obj = {
  foo: 'a',
  [foo]: 'b',
};
const result = obj.bar;

何が起こるでしょうか?

4. 計算されるプロパティキー (3/6)

const foo = 'bar';
const obj = {
  foo: 'a',
  [foo]: 'b',
};
const result = obj[foo];

何が起こるでしょうか?

5. 計算されるプロパティキー (4/6)

const foo = 'bar';
const obj = {
  foo: 'a',
  [foo]: 'b',
};
const result = obj[bar];

何が起こるでしょうか?

6. 計算されるプロパティキー (5/6)

const foo = 'bar';
const obj = {
  foo: 'a',
  [foo]: 'b',
};
const result = obj['foo'];

何が起こるでしょうか?

7. 計算されるプロパティキー (6/6)

const foo = 'bar';
const obj = {
  foo: 'a',
  [foo]: 'b',
};
const result = obj['bar'];

何が起こるでしょうか?

8. オブジェクトの反復処理 (1/4)

const symbol1 = Symbol('symbol1');
const symbol2 = Symbol('symbol2');

const obj = {
  name1: 0,
  [symbol1]: 0,
};
Object.defineProperties(obj, {
  name2: { enumerable: false, value: 0 },
  [symbol2]: { enumerable: false, value: 0 },
});

const result = Object.keys(obj);

結果は?

9. オブジェクトの反復処理 (2/4)

const symbol1 = Symbol('symbol1');
const symbol2 = Symbol('symbol2');

const obj = {
  name1: 0,
  [symbol1]: 0,
};
Object.defineProperties(obj, {
  name2: { enumerable: false, value: 0 },
  [symbol2]: { enumerable: false, value: 0 },
});

const result = Reflect.ownKeys(obj);

結果は?

10. オブジェクトの反復処理 (3/4)

const symbol1 = Symbol('symbol1');
const symbol2 = Symbol('symbol2');

const obj = {
  name1: 0,
  [symbol1]: 0,
};
Object.defineProperties(obj, {
  name2: { enumerable: false, value: 0 },
  [symbol2]: { enumerable: false, value: 0 },
});

const result = Object.getOwnPropertyNames(obj);

結果は?

11. オブジェクトの反復処理 (4/4)

const symbol1 = Symbol('symbol1');
const symbol2 = Symbol('symbol2');

const obj = {
  name1: 0,
  [symbol1]: 0,
};
Object.defineProperties(obj, {
  name2: { enumerable: false, value: 0 },
  [symbol2]: { enumerable: false, value: 0 },
});

const result = Object.getOwnPropertySymbols(obj);

結果は?

12. メソッドの呼び出し

const jane = {
  name: 'Jane',
  hello() {
    return `Hello ${this.name}!`;
  },
};
const func = jane.hello;

obj.hello を呼び出すには、どの方法が機能しますか?

13. プロトタイプチェーン

const proto = { prop: 'a' };
const obj = Object.create(proto);

obj.prop = 'b';

proto.prop は何ですか?

14. プロトタイプチェーン

const proto = {
  foo: 'p',
  logFoo() {
    console.log(this.foo);
  }
};
const obj = {
  foo: 'o',
  __proto__: proto,  
};

proto.logFoo.call(obj);
proto.logFoo.call(proto);

何が起こるでしょうか?


正解0のうち0