javascript - ES6(4) Object
2117 ワード
Object create
const healthObj = {
showHealth : function(){
console.log(this.healthTime)
}
}
const myHealth = Object.create(healthObj)
myHealth.healthTime = "4"
myHealth.name="dongha"
console.log(myHealth) // { healthTime: '4', name: 'dongha' }
new演算子ではなくオブジェクト.createを使用してオブジェクトを作成できます.createの欠点は、プロトタイプに基づいてオブジェクトを作成し、プロパティを個別に追加する必要があることです.assignを使用すると改善できます.
Object assign
const healthObj = {
showHealth : function(){
console.log(this.healthTime)
}
}
const myHealth = Object.assign(Object.create(healthObj), {
name: "dongha",
lastTime: "11:20"
})
console.log(myHealth) // { name: 'dongha', lastTime: '11:20' }
assignは、オブジェクトのプロトタイプをパラメータとして使用し、2番目のプロパティにプロパティを与えることができます.const previousObj = {
name: "dongha",
lastTime:"11:23"
}
const myHealth = Object.assign({}, previousObj, {"lastTime" : "12:30"})
console.log(myHealth) // { name: 'dongha', lastTime: '12:30' }
assignは、最初のパラメータとオブジェクト、および変更するプロパティを追加することによって、空のオブジェクトを変更できます.setPrototypeOf
const healthObj = {
showHealth : function(){
console.log(`${this.time}`)
},
setTime : function(_time){
this.time = _time
}
}
const myHealth = {
name: "dongha",
lastTime:"33:22"
}
Object.setPrototypeOf(myHealth, healthObj)
setPrototypeOf
、プロトタイプオブジェクトとして指定できます.ソース:
https://www.inflearn.com/course/es6-%EA%B0%95%EC%A2%8C-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8/lecture/7019?speed=1.5&tab=note
Reference
この問題について(javascript - ES6(4) Object), 我々は、より多くの情報をここで見つけました https://velog.io/@dongha1992/javascript-javascript-ES64-Objectテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol