다음은 설명을 돕는 차이점을 보여주는 예입니다.
var s1 = new String("Avoid newing things where possible");
var s2 = "A string, in TypeScript of type 'string'";
var s3: string;
String
는
사용이 새로운 문자열을 생성 할 수있는 자바 스크립트 문자열 유형이다. JavaScript 에서처럼 리터럴을 더 잘 사용하는 사람은 없으므로 위의 예에서
s2
은 키워드를 사용하지 않고 명시 적으로
String
개체를 사용하지 않고 새 문자열을 만듭니다.
string
은 변수, 매개 변수 및 반환 값을 입력하는 데 사용할 수있는 TypeScript 문자열 유형입니다.
추가 참고 ... 현재
(년 2 월 2013)
s1
및
s2
모두 자바 스크립트 유효합니다.
s3
은 유효한 TypeScript입니다.
String
의 사용. 문자열 리터럴은 문자열을 초기화하는 올바른 방법으로 널리 받아 들여지고 있습니다. 자바 스크립트, 또한 객체 리터럴 너무 배열 리터럴을 사용하는 것이 좋습니다 간주됩니다
var arr = []; // not var arr = new Array();
var obj = {}; // not var obj = new Object();
당신이 정말로 문자열을 좋아하는 경향이 있다면, 당신은 ... 두 가지 방법 중 하나를 타이프에서 사용할 수
var str: String = new String("Hello world"); // Uses the JavaScript String object
var str: string = String("Hello World"); // Uses the TypeScript string type
고맙습니다. 따라서 primitve 유형 문자열을 사용하여 문자열 값을 사용하는 다른 libs를 사용할 때 유형 변환 문제를 피할 수 있습니다 (아무도 실제로 String (?)을 사용하지 않는다는 생각을 기반으로 함). String과 String, viceversa 사이의 대입은 똑같이 처리되어야합니까? – Paul0515
실제로 TypeScript 유형을 제거하여 100 % 호환 JavaScript (ES3 또는 ES5 버전 및 ES6 버전 1 버전)를 제공하므로 실제로 둘 중 하나를 사용하는 것이 안전합니다. 나는'string' 타입과 리터럴 초기화를 사용할 것을 권한다 :'var s : string = "My String";'. – Fenton
레코드에 대해, 타입 - 유추 덕분에,'var s : string = "My String"'은'var s = "My String"'과 동일하다. ('My String ') ['constructor '] === String' ... –