在讀JavaScript的時候,這兩個Pattern常常被提到,做了一下筆記。
假設我們要做一個包含很多人物的物件。
const characters= [
{name:'Curapica', age:15},
{name:'Killua', age:13},
{name:'Gon', age:12},
{name:'Leorio', age:17},
];
這時候這二種pattern的寫法就會是這樣:
/* Imperative Pattern */
for (let i = 0; i < characters.length; i += 1) {
characters[i].lastSeen = new Date();
}
/* Declarative Pattern */
characters.map((book)=> {
characters.lastSeenBy = 'me';
return characters;
});
Declarative Pattern:要做什麼
Imperative Pattern:如何做
想像是兩個個性不同的妹子,就是這樣: