TypeScript · Essencial · Português · Técnico
String maiúsculo
Tipos como String, Number e Boolean, com inicial maiúscula, descrevem objetos wrapper e não os primitivos. Para valores comuns, o certo é string, number e boolean.
Onde usar
O linter e o code review barram 'nome: String'. O minúsculo cobre os primitivos que você realmente usa, enquanto o maiúsculo aceita também objetos embrulhados, que quase ninguém cria.
Em código
let a: string = 'oi';
let b: String = 'oi'; // aceito, mas evite
b = new String('oi'); // aceito aqui também
// a = b; // erro: String não é stringExemplos
Troca String maiúsculo por string, o linter já avisou.
Esse String com S maiúsculo aceita até objeto embrulhado, que ninguém quer.
Cuidado
O contrário não vale: um objeto String não é atribuível a string, então misturar os dois gera erros confusos.
Sinônimos
tipos wrapper
Antônimos
tipos primitivos