I'm reading the book Understanding EMCAScript 6 and I came across a strange line that I can't decipher.  result[keys[i]] = object[keys[i]];
I know that ...keys is a rest parameter. However I can access a rest parameter using standard array syntax, for example keys[i].  What does [keys[i]] mean?  I googled and I can't find anything.  It looks like an array but I'm not sure what type of array or how it works.  Just knowing the name would be a huge help.  It's from this code.
function pick(object, ...keys) {
    let result = Object.create(null);
    for (let i = 0, len = keys.length; i < len; i++) {
        result[keys[i]] = object[keys[i]];
    }
    return result;
}
 
     
    