今天在別人的 js 範例當中看到一個關鍵字 in,

if ('items' in obj) {
    return obj.items;
}
過去用過的 in 是 for..in,做為疊代物件屬性
    for (var prop in obj) { ... }
從 stack overflow 看到這篇說明 JavaScript object detection: dot syntax versus ‘in’ keyword 裡面的範例解釋很貼切,這表示這是用來判斷屬性是否存在,而不是屬性的內容。
    var object = {property: 0};
    if(object.property) { ... } // will not run if('property' in object) { ... } // will run
如果考量到物件原型(prototype)有一樣名稱的情況,更精確的使用如下, 如此可以限制屬性只限定在目前物件當中。
    if(object.hasOwnProperty('property')) {...}