javascript
-
React - useState - 1Front-end/React 2023. 4. 26. 01:42
React useState React useState 란 컴포넌트가 가질 수 있는, 또는 변할 수 있는 상태의 값이라고 한다. useState를 변수에 저장하기 위해 Distructuring 문법을 사용하여 저장할 수 있다. //useState 변수 선언 let [ 상태값 저장 변수 , 상태값 갱신 함수] = useState(상태초기값); 변수와 state의 차이점은 변수가 변경이 되면 html에 자동으로 반영이 안되지만, state는 자동으로 html이 재랜더링이 된다. // App.js import logo from './logo.svg'; import './App.css'; import { useState } from 'react'; function App() { let post = 'Restaur..
-
Typescript - inferFront-end/Typesrcipt 2023. 4. 24. 21:23
Typescript infer typescript 에서 타입에 대한 조건식을 넣어 줄때 extends와 삼항 연산자를 사용하여 타입에 들어오느 파라미터에 따라 타입을 바꿀수 있다. // extends 를 사용하여 타입을 T라는 타입이 string을 가지고 있는지 확인한다. type Age = T extends string ? string : unknown;// 삼항연산자로 조건을 만들어 타입을 선언한다. // a는 string 타입 let a: Age // a2는 unknown 타입 let a2: Age Infer infer 이란 제네릭 파라미터에 들어간 타입을 뽑아내 다른 변수에 넣어두어 타입을 선언할때 사용하기도한다. // T 에서 타입을 받아와서 R 이라는 변수에 저장한다. type Person =..
-
React - JSXFront-end/React 2023. 4. 20. 02:54
React JSX React JSX 란 Javascript 에 xml을 추가하여 확장한 문법이다 javascript 에 html 을 작성하여 react를 만드는데 효율적으로 만들 수 있다. // App.js import logo from './logo.svg'; import './App.css'; function App() { return ( // JSX 문법으로 js 파일에 html을 작성할 수 있다. Blog ); } export default App; html의 h4 태그속성이 적용되어 화면이 출력이 된다. className html 태그에 className을 부여하여 html의 class 속성처럼 사용하여 App.css 파일을 import 하여 App.css 파일에 스타일을 적용해 줄 수 있다. ..
-
Typescript - index signaturesFront-end/Typesrcipt 2023. 4. 19. 12:52
Typescript index signatures Typescript index signatures 란 object 타입에서 각 속성마다 타입을 하나씩 정해주는 것이 아니라 한번에 타입을 지정해줄 수 있는것이다. // 기존은 속성별로 타입을 정해주었다. interface StringType { name: string, age: string, location: string } // index signature 를 사용하면 모든속성에 타입을 줄 수있다. interface StringType { [key: string]: string,//[key: string] 이란 모든 문자열로된 속성을 의미 } let user: StringType = { name: 'zelord', age: '27', location: ..
-
Typescript - implementsFront-end/Typesrcipt 2023. 4. 19. 11:42
Typescript implements Typescript implements 란 부모의 메소드나 변수를 그대로 가져다가 쓰지 않고 오버라이드를 해서 사용하는것이다. implements 는 class의 interface에 만족하는지 여부를 체크할 때 사용한다. // intreface 로 타입을 선언한다. interface PetType { gender: string, age: number } // class를 선언하여 implements로 interface 타입을 불러온다. class Pet implements PetType { gender: string; age: number = 27; constructor(x: string) { this.gender = x; } } let bomi = new Pet(..
-
Typescript - declareFront-end/Typesrcipt 2023. 4. 18. 21:11
Typescript declare Typescript declare 이란 컴파일러에게 declare 로 선언된 변수 또는 함수들을 이미 존재한다고 알리는 것이다. // data.js // js파일에 변수를 선언한다. var num = 10; var profile = {name: 'kim'}; 다른 js파일에 선언된 num 변수를 타입스크립트에서 declare로 불러와 사용할 수 있다. // index.ts declare let num: number;// declare 로 변수가 이미 존재한다는것을 알린다. console.log(num + 1); declare로 재정의 된 변수에 타입선언도 가능하다. declare 키워드는 변환된 index.js에서는 나타나지않는다. Typescript ambient mo..
-
Typescript - tuple typeFront-end/Typesrcipt 2023. 4. 18. 20:37
Typescript tuple type Typescript tuple type 이란 고정된 길이의 배열에 각 인덱스 요소마다 타입을 고정적으로 적용하는 타입이다. // 0번째 index에 string 타입, 1번째 index에 number 타입 let Dog: [string, number?] = ['bomi', 7]; //?를 사용하여 들어올 값이 들어오지 않을 수 있다. let Dog2: [string, number?] = ['bomi']; //?는 항상 맨 마지막에 붙여서 사용해야한다. let Dog3: [string, number?, boolean] = ['bomi', 7];// 가운데에 ? 를 사용하면 안된다. 타입뒤에 ? 를 사용하여 값이 들어가거나 값이 들어가지 않을 수 있음을 나타낸다. ?를..
-
Typescript - genericsFront-end/Typesrcipt 2023. 4. 18. 17:25
Typescript generic typescript generic 이란 함수나 클래스에서 사용할 타입을 결정해주는것이다. function myGenericFn(x: T[]): T {// T 라는 타입을 받아와 타입을 결정한다. return x[0]; } // 사이에 number 타입을 선언하여 함수의 타입을 number로 선언한다. let indexZero = myFn([5, 8]); // 사이에 string 타입을 선언하여 함수의 타입을 number로 선언한다. let indexOne = myFn(['5', '8']); generic 을 사용할때도 파라미터의 타입이 제대로 들어 가는지 확인하기위해 안에 extends 키워드를 사용하여 타입파라미터에 제한을 할 수 있다. ( narrowing 효과 ) ..