본문 바로가기

부트캠프교육중/TypeScript22

[TS] type과 interface차이 interface로 지정하면 그냥 interface Person이런식으로 별칭만 뜨는데 type으로 지정하면 type의 모양이 뜬다 type Person ={ name: string; age: number; } 이런식으로 interface는 확장이 되고, type은 확장이 되지 않는다. 이제 둘의 가장 큰 차이점이다. 결론, 가능한 한 type보다는 interface를 사용하자!!! 2023. 8. 13.
[TS] object를 더 상세하게 타입지정하기 function fetchTodoItems(): object[] { const todos = [ { id: 1, title: '안녕', done: false }, { id: 2, title: '타입', done: false }, { id: 3, title: '스크립트', done: false }, ]; return todos; } 이렇게 하면 done같은 부분에서 나중에 에러가 날거다. 그래서 object를 더 상세하게 타입지정한다. function fetchTodoItems(): {id:number, title:string, done:boolean}[] { const todos = [ { id: 1, title: '안녕', done: false }, { id: 2, title: '타입', done: f.. 2023. 8. 13.
[TS] 함수 함수의 파라미터의 개수가 달라도 에러가 뜬다. (적어도 에러, 많아도 에러) JS에서는 에러안난다. function sum2(a: number, b: number): number { return a + b; } sum2(10, 20, 30, 40); // 에러 sum2(10); // 에러 옵셔널한 부분은 ?를 넣는다. function log(a: string, b?: string){ } log('hello world') log('hello ts', 'abc') 저렇게 b에 ?를 넣으니까 첫번째 log도 에러가 안생긴다. 2023. 8. 11.
[TS] 튜플, 객체, 진위값 튜플 - 위치와 타입을 같이 지정하겠다. let address: [string, number] = ["abc", 123]; 객체 let person: { name: string; age: number } = { name: "thor", age: 200, }; 진위값 let show: boolean = true; 2023. 8. 11.