1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Javascriptメモ

Posted at

#Javascript メモ
Javascriptのオブジェクトについて自分用にメモします。

###オブジェクトの省略表記
オブジェクトは省略して作ることができます。

const a = 1;
const b = 2;
const obj = {a, b}
console.log(obj) //{ a: 1, b: 2 }

###オブジェクトから変数の代入
オブジェクトから変数を作ることができます。

const props = { numList: [1,2,3], children: "This is a child" };
const {numList, children} = props;
console.log(numList); // [1,2,3]
console.log(children); // "This is a child"

ただしキーと違う変数名で代入するとundefinedになります。

const {a, b} = props;
console.log(a); // undefined
console.log(b); // undefined

###オブジェクトを展開する
オブジェクトの前に...と表記することで中身を展開できます。

const object = { a: 1, b:2 };
console.log({...object}); // {a: 1, b: 2}

{}で囲わないとエラーになります。

console.log(...object); // Uncaught TypeError: Found non-callable @@iterator at <anonymous>

###値を更新する
{}の中でオブジェクトを展開してさらにそこにキーバリューペアを追加できます。
同じキーがあると後に追加された値で更新されます。

const object = { a: 1, b:2 };
console.log({...object, a: 5}); // { a: 5, b: 2 }
console.log({ a: 5, ...object }); // { a: 1, b: 2 }

###変数名がキーになる
変数に入れたオブジェクトをさらに{}で囲むと変数名がそのままキーになります。

const object = { a: 1, b:2 };
const object2 = {object};
console.log(object2); // {object: { a:1, b:2 }
console.log(object2.object); // {a: 1, b: 2}
console.log(object2.object.a); // 1

###変数をオブジェクトのキーにしたい時は[]で囲む
変数をオブジェクトのキーに指定したいときは[]で囲みます。

const num = 2;
const object = {1: "a", [num]: "b"}
console.log(object); // {1: "a", 2: "b"}

以上です。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?