console.log(combinedData); 찍으니 이제 date별로 data가 나오게 되었다. 하지만 각자 속성이 다른 계좌 데이터와 현금 데이터... 리턴문으로 렌더링할때 조금 신경을 써줘야 했다 export default function MonthConsumptionDetail({ combinedData, }: { combinedData: CombinedData[]; }) { const detailBoxRef = useRef(null); useEffect(() => { if (detailBoxRef.current) { const itemCount = combinedData?.reduce( (height, group) => height + group.data.length, 0 ) || 0; con..
typescript
0. 함수타입 자바스크립트 함수가 있을 때, 이 함수를 다른 사람에게 설명하는 가장 좋은 방법은 이 함수가 어떤 매개변수를 받고 어떤 값을 반환 하는지 이야기 하는 것 입니다. 그럼 타입스크립트에서는 어떨까요? 어떤 타입의 매개변수를 받고, 어떤 타입의 값을 반환하는지 이야기 하면 됩니다. /** * 함수의 타입 정의하기 */ //함수를 설명하는 가장 좋은 방법 // 어떤 매개변수를 받고, 어떤 결과값을 반환하는 지 이야기 // 어떤 [타입의] 매개변수를 받고, 어떤 [타입의] 결과값을 반환하는 지 이야기 function func(a:number, b:number){ return a+b; //function func(a: number, b: number): number //return 문을 보고 함수 타..
1. 타입은 집합이다 타입스크립트의 '타입'은 사실 여러개의 값을 포함하는 '집합'입니다. 그리고 이러한 타입(집합)들은 수직관계를 가지고 있습니다 let num1:number =10; let num2: 10 = 10; num1 = num2; 특별히 서브 타입의 값을 슈퍼 타입의 값으로 취급하는 것은 업 캐스팅 이라고 부르고 반대는 다운캐스팅이라고 부릅니다. 따라서 쉽게 정리하면 업캐스팅은 모든 상황에 가능하지만 다운 캐스팅은 대부분의 상황에 불가능하다고 할 수 있습니다. 2. 타입계층도와 함께 기본타입 살펴보기 /** * unknown 타입 => 모든 타입 중 가장 슈퍼타입(전체집합 개념) */ function unknownExam(){ let a:unknown =1; //언노운에 캐스팅되는거 가능(업..
타입별칭 타입 별칭을 이용하면 다음과 같이 변수를 선언하듯 타입을 별도로 정의할 수 있습니다. type 타입_이름 = 타입 형태로 타입을 정의합니다. //타입별칭 type User = { id: number; name: string; nickname: string; birth: string; }; // 같은 스코프 내에서는 중복정의 X function func(){ type User = { // 이 스코프 내에서는 User를 이런식으로 정의, 밖에서는 저런식으로 정의 } } let user: User ={ id: 1, name: "정지응", nickname:"Becky", birth: "1999.06.30", } let user2: User ={ id:2, name:"이동웅", nickname: "이동곰..
타입 스크립트는 어떻게 실행될까? 정리하자면 타입스크립트는 컴파일 결과 타입검사를 거쳐 자바스크립트 코드로 변환되는데, 이때 만약 코드에 오류가 있다면 컴파일 도중 실패하게 되므로 자바스크립트를 보다 더 안전하게 사용하는 미리 한번 코드를 검사하는 용도로 사용된다고 볼 수 있겠습니다~ 기본타입 기본타입이란 타입스크립트가 자체적으로 제공하는 타입들을 말합니다. (내장타입) 다음 그림은 타입스크립트가 제공하는 기본 타입들을 계층에 따라 분류한 "타입계층도" 그림입니다 그림을 자세히 보면 null, undefined,number,string 처럼 우리가 흔히 알고 있는 타입들도 존재하고 그 외의 any,void,never 같은 처음보는 타입도 존재합니다. 그리고 이런 타입들은 서로 부모, 자식 관계를 이루면서..
타입시스템이란? 언어에서 사용할 수 있는 아주 여러가지 값들을 어떤 기준으로 묶어서 타입으로 정할지 결정하고,또 코드의 타입을 언제 검사할지 그리고 어떻게 검사할지 등 우리가 프로그래밍 언어를 사용할 때 타입과 관련하여 지켜야 하는 규칙들을 모아둔 체계입니다. 이 타입시스템은 크게 두가지로 나눌 수 있는데, 첫번째는 모든 변수의 타입을 고정적으로 결정하는 정적 타입 시스템이있고, 나머지 하나는 코드를 실행하기 전에는 타입을 결정하지 않고, 코드를 실행하고 나서 그때그때 마다 유동적으로 변수의 타입을 결정하는 동적 타입 시스템이 있습니다 보통 C 나 Java 같은 엄격한 문법을 가진 언어들은 당연히 엄격한 정적 타입 시스템을 사용하고 있고, 파이썬이나 자바스크립트 같은 유연한 문법을 가진 언어들은 동적 타..