document.getElementById(id) will give you a normal JS object which can have both properties (or attributes) and methods. First, the instruction that you're asking for is expecting this object to have a "files" property.
Properties in javascript can be primitives (as string, number or boolean), complex objects and arrays.
In this case, the brackets are giving us a hint that this property (files) is an array. Array elements are accessed by an index inside the brackets. .files[0] represents the first item inside this array.
For example, if you have an array like:
var myArray = ['first', 'second', 'last']
You can access the elements with the same syntax you're asking for:
myArray[0] //first
myArray[1] //second
myArray[2] //last
Without knowing the context of your instruction, this files property matches perfectly with a FileUpload input control. Check it here:
https://www.w3schools.com/jsref/dom_obj_fileupload.asp