TypeScript7 [함수] 함수 매개변수 함수 매개변수 - 명시적 타입 정보가 선언되지 않으면 타입을 알 수 없어 타입스크립트가 이를 any 타입으로 간주하며 매개변수 타입은 무엇이든 될 수 있음 - 매개변수 타입 또한 타입 애너테이션으로 함수 매개변수의 타입을 선언할 수 있음 - 매개변수에 타입 애너테이션을 추가하지 않아도 실행되기는 하지만 타입스크립트는 타입 오류로 오류를 계속 알림 1. 필수 매개변수 - 자바스크립트는 인수의 수와 상관없이 함수를 호출할 수 있음, 하지만 타입스크립트는 함수에 선언된 모든 매개변수가 필수라고 가정함 - 함수가 잘못된 수의 인수로 호출되면, 타입스크립트는 타입 오류의 형태로 이의를 제기함 - 다음 singTwo 함수는 두 개의 매개변수가 필요하므로 하나 혹은 세 개의 인수를 전달하는 것은 모두 오류를 알림 f.. 2023. 4. 26. 객체 타입 유니언 객체 타입 유니언 1. 유추된 객체 타입 유니언 - 변수에 여러 객체 타입중 하나가 될 수 있는 초깃값이 주어지면 타입스크립트는 해당 타입을 객체 타입 유니언으로 유추함 - 유니언 타입은 가능한 각 객체 타입을 구성하고 있는 요소를 모두 가질 수 있음 const poem = Math.random() > 0.5 ? { name: "The Double Image", pages: 7 } : { name: "Her Kind", rhymes: true }; // 타입 : // { // name: string; // pages: number; // rhymes?: undefined; // } // | // { // name: string; // pages?: number; // rhymes: boolean; // .. 2023. 4. 24. 객체 객체 타입 - {...} 구문을 사용하여 객체 리터럴을 생성하면, 타입스크립트는 해당 속성을 기반으로 새로운 객체 타입 또는 타입 형태를 고려함 - 해당 객체 타입은 객체의 값과 동일한 속성명과 원시타입을 갖음 - 값의 속성에 접근하려면 value.멤버 또는 value['멤버'] 구문을 사용함 const poet = { born: 1995, name: "Yun Do Woon", }; poet['born']; // 타입: number poet.name; // 타입: string poet.end; // Error - 객체 타입은 타입스크립트가 자바스크립트 코드를 이해하는 방법에 대한 핵심 개념임 - null과 undefined를 제외한 모든 값은 그 값에 대한 실제 타입의 멤버 집합을 가지므로 타입스크립트는.. 2023. 4. 23. Literal Type 리터럴 타입 (Literal Type) - 원시 타입 값 중 어떤 것이 아닌 특정 원싯값 - 아래의 예시로 원시 타입 string은 존재할 수 있는 모든 가능한 문자열의 집합을 나타내나 리터널 타입인 "wonpil"은 하나의 문자열만 나타냄 - 만약 변수를 const로 선언하고 직접 리터럴 값을 할당하면 타입스크립트는 해당 변수를 할당된 리터럴 값으로 유추함 const bias = "wonpil"; - 반면에 변수를 let으로 선언하고 동일한 값을 할당하면 타입스크립트는 일반적인 원시 타입을 유추함 - 원시 타입은 해당 타입이 가질 수 있는 가능한 모든 리터럴 값의 전체 조합 일반적으로 타입스크립트 코드에서 발견할 수 있는 타입 - boolean : true | false - null과 undefined.. 2023. 4. 20. Union과 Narrowing 유니언 타입 (Union Type) - 값에 허용된 타입을 두 개 이상의 타입으로 가능하게 확장하는 것 - 예제의 bias 변수를 확인했을 시 둘 다 잠재적인 타입으로 무조건 undefiend 이거나 혹은 무조건 string 인 것도 아님 - '이거 혹은 저거' 와 같은 타입을 유니언이라고 함 - 타입스크립트는 가능한 값 또는 구성 요소 사이에 | (수직선) 연산자를 사용해 유니언 타입을 나타냄 - bias는 string | undefiend 타입으로 간주 됨 let bias = Math.random() > 0.5 ? undefined : "wonpil"; 유니언 타입 선언 - 변수에 초깃값이 있더라도 변수에 대한 명시적 타입 애너테이션을 제공하는 것이 유용할 때 유니언 타입을 사용함 - 아래의 예제에서.. 2023. 4. 20. Type System 타입 시스템 (Type System) - 프로그래밍 언어가 프로그램에서 가질 수 있는 타입을 이해하는 방법에 대한 규칙의 집합 기본적으로 타입스크립트의 타입 시스템은 아래와 같이 작동함 - 1 코드를 읽고 존재하는 모든 타입과 값을 이해함 - 2 각 값이 초기 선언에서 가질 수 있는 타입을 확인함 - 3 각 값이 추후 코드에서 어떻게 사용될수 있는지 모든 방법을 확인함 - 4 값의 사용법이 타입과 일치하지 않으면 사용자에게 오류를 표시함 오류 종류 - 타입스크립트 작성 시 자주 접하게 되는 오류 두 가지는 아래와 같음 - 1 구문 오류 : 타입스크립트가 자바스크립트로 변환되는 것을 차단한 경우 - 2 타입 오류 : 타입 검사기에 따라 일치하지 않는 것이 감지된 경우 1. 구문 오류 - 타입스크립트가 코드.. 2023. 4. 17. 이전 1 2 다음