Well default-but-editable is actually more complicated.
If you want default and read only, then you could just use a function/calculation.
=INDEX(["First","Second","Third"],ROW())
What this is doing is creating an array/collection of values, which is represented by the square brackets.
["First","Second","Third"]
Next, that is wrapped in the INDEX function, which uses the ROW() function to get the current row number and retrieve the corresponding value from the array.

The reason this should be set to read-only is that changes in the table will often cause the calculation to refresh meaning if you let users edit the values, it will probably just revert back to the default.
However, if you have more rows than values, you will get a calculation error, so if you need to be able to add editable rows, JavaScript may be the way to go.
In that case, I'd set the table to start with a minimum of three rows and give that column's field a custom CSS class of "defaultField" or something.
Then just loop through your collection of default values and use the index to retrieve the corresponding field:
$(document).ready(function(){
$.each(['First','Second','Third'],function(index,value){
$('.defaultField input').eq(index).val(value).change();
});
});
This is a very concise version, but there's lots of other ways to do this.