While merging Zotero 6.0.20, I was initially thrown by a variable called at line 395:
this.addDateRow(fieldNames[i], this.item.getField(fieldName, true), tabindex);
fieldName is originally assigned from fieldNames[i]. There are no overwriting assignments that I can see, and the call is wrapped in a condition that tests for fieldName. The value of fieldNames[i] and fieldName should be identical, and it should be okay to call fieldName in both slots. I think.