Пример на Typescript:
function getStringsArray(): string[] {
return null // Type 'null' is not assignable to type 'string[]';
}
Пример на Java:
public static String[] getStringsArray() {
return null; // OK
}
При первом варианте в коде не будут требоваться постоянные проверки на null, можно быть уверенным, что результатом будет строка.
Во втором варианте создателю метода проще прокидывать null, если объекта нет, но потребителям придется делать проверки.
Есть ли другие плюсы и минусы? Хочу понять, чем руководствовались создатели языка при принятии этого решения