blog

ES6 Essentials 04-拡張されたオブジェクト機能

: 1 つ以上のソース・オブジェクトからターゲット・オブジェクトに、すべての列挙可能プロパティの値をコピーするために使用されます。これはターゲット・オブジェクトを返します。...

Mar 30, 2020 · 2 min. read
シェア

1. es6 は変数や関数をオブジェクトのプロパティやメソッドとして直接書き込みます。

const name = 'ポニーボーイの, age = 20; const person = { name,//name に相当する。:name age, sayName(){ console.log(this.name); } } person.sayName()// function fn(x,y) { return {x,y}; } console.log(fn(10,20));// {x:10,y:20}

Object.set および get

  • getメソッドは、カートのオブジェクトにアクセスするときに呼び出されます。
  • set メソッドはカートオブジェクトが変更されたときに呼び出されます。
let cart = { wheel:4, name:"King" set(newVal){ if(newVal < this.wheel){ throw new Error('Library数が小さすぎる。) } this.wheel = newVal; }, get(){ return this.wheel; } } // console.log(cart.get()); cart.set(6);//通常の変更 cart.set(2);// エラーをスローする console.log(cart.get())

文字変換 スプライシング:

オブジェクトの属性は、[]と'

例1.

const obj = {}; obj.isShow = true; const name = 'a'; obj[name+'bc'] = 123; console.log(obj); //{isShow: true, abc: 123}

例2.

const obj = {}; obj['f'+'bc'] = function () { console.log(this); } console.log(obj); //{fbc:function(){console.log(this)}}

例3.

const name = 'a'; const obj = { isShow:true, [name+'bc']:123, ['f'+name](){ console.log(this); } } console.log(obj);//{isShow: true, abc: 123, fa: }

Object のメソッド

Object.is():単に値が等しいかどうかを比較するだけで、暗黙の型変換は行いません。

console.log(NaN === NaN); // false // 2つの値が厳密に等しいかどうかを比較する // console.log(NaN === NaN); console.log(Object.is(NaN,NaN));// true console.log(Object.is(undefined,undefined)); // true var go=111 var here=111 console.log(Object.is(go,here)); //true

Object.assign():列挙可能なすべてのプロパティの値を、1つ以上のソース・オブジェクトからターゲット・オブジェクトにコピーするために使用します。これは、ターゲット・オブジェクトを返します。

// オブジェクトのマージ // Object.assign(target,obj1,obj2....) // マージ後の新しいオブジェクトを返す let newObj = Object.assign({},{a:1},{b:2}); console.log(newObj); // {a: 1, b: 2}
Read next

Flutterのための最も美しいUIライブラリとプロジェクト。

ミニマルなFlutterゲームエンジン。アドレス: -/ flukitはFlutter Widgetライブラリです。アドレス: ...

Mar 29, 2020 · 5 min read