Вот пример, который показывает различия, которые помогут с объяснением.
var s1 = new String("Avoid newing things where possible");
var s2 = "A string, in TypeScript of type 'string'";
var s3: string;
Stringэто тип JavaScript String, который вы можете использовать для создания новых строк. Никто не делает этого, так как в JavaScript литералы считаются лучше, поэтому s2в приведенном выше примере создается новая строка без использования newключевого слова и без явного использования Stringобъекта.
string является строковым типом TypeScript, который можно использовать для ввода переменных, параметров и возвращаемых значений.
Дополнительные замечания...
В настоящее время (февраль 2013) оба s1и s2являются действительными JavaScript. s3является допустимым TypeScript.
Использование String. Вам, вероятно, никогда не понадобится его использовать, строковые литералы повсеместно принимаются как правильный способ инициализации строки. В JavaScript также лучше использовать литералы объектов и литералы массивов:
var arr = []; // not var arr = new Array();
var obj = {}; // not var obj = new Object();
Если у вас действительно есть склонность к этой строке, вы можете использовать ее в TypeScript одним из двух способов ...
var str: String = new String("Hello world"); // Uses the JavaScript String object
var str: string = String("Hello World"); // Uses the TypeScript string type