- onClick = {onClickBtn('바위' )}  처럼 고차함수일때 인수를 첫번째 매개변수로 받을수있음

-> REACT 고차함수 (여기에 넣을수있음 ) => () =>

 

-ts는 변수/매개변수/리턴값에 타입이 붙음 

 

- 배열에 includes 쓸려면 tsconfig.json에서 es2016을 꼭 추가해줘야함 

- ts에서는 빈배열 [] 를 조심해야함 , 빈배열은 never

따라서 빈배열을 쓸경우에는 항상 타이핑을 제너릭으로 정확하게 number배열 이렇게 지정해줘야 

정확하게 들어감 빈배열쓰면안됨

- 함수컴포넌트에서 props 자리는 FunctionCompoent<{number:number } >여기서 <안> 부분

props 제네릭자리  

-ts의 한계 => window, State등 

-타입스크립트는 기본적으로 타입을 넓게 잡기때문에 왠만하면 객체같은것은 직접 타이핑해주는게

좋다

- 타입 에일리어스란? 

자바스크립트에서는 변수를 let으로 선언하면 어떤 값이든지 자유롭게 대입할 수 있지만
타입스크립트에서는 표기한 타입과 일치하는 값만 대입할 수 있습니다. 

 

- 타입 뒤에?가 붙어 있는것은 옵셔널(optional)수식어로 해당 자리에 값이 있어도 그만, 없어도 그만이라는 뜻 입니다.

 

타입을 배우다 보면 값(value)과 타입이 헷갈리기 시작합니다.
값은 일반적으로 자바스크립트에서 사용하는 값을 가리키고, 타입은 타입을 위한 구문에서 사용하는 타입을 가리킵니다. 결론부터 말하면 타입을 값으로 사용할 수는 없습니다.
타입으로 사용할 수 있는 값과 타입으로 사용할 수 없는 값을 구분하면 됩니다.

이전 절에서 보았듯 대부분의 리터럴 값은 타입으로 사용할 수 있습니다. 반대로 변수의 이름은 타입으로 사용할 수 없습니다. 다만 Date Math, Error, String, Object, Number, Boolean 등과 같은 내장 객체는 타입으로 사용할 수 있습니다.

1) 타입사용시 const a : number = '5' ; 이부분에서 변수뒤에 타입이 오며 number를 Number처럼 대문자로 쓰면 안됩니다.

 

2) 명시적으로 const b : any 이렇게 any를 사용할일은 거의 없을것입니다. 

 

3) 매개변수 바로 뒤의 값이 return값 타입사용 자리 

 

4) 함수의 return의 타입사용자리는 매개변수 바로뒤인데

화살표함수의 return의 타입사용자리는 => 뒤에 나온다는것 

 

ex)
function add(x: number, y: number) : number // 함수 

type Add = (x: number, y: number) => number;  // 화살표함수

 

tip) 타입을 지워도 말이 되는 자바스크립트 코드여야한다 

 

1) js에서는 에러가 아닌것이 ts에는 에러가 날수 있습니다.

예시로 

 

 

1)  //@ts-ignore 

=> 에러가 나든 안나든 에러를 무시하기 위해서 사용

 

2) //@ts-expect-error 

=> 다음 줄의 코드가 반드시 에러가 나는 코드이지만 무시할때 사용 

 

1), 2) 중에 사용할때는  2번이 권장됩니다(왜냐하면 확실한 에러를 알릴 수 있기 때문입니다)

+ Recent posts