본문 바로가기 메뉴 바로가기

공부 기록일지📚

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

공부 기록일지📚

검색하기 폼
  • 분류 전체보기 (387)
    • Frontend (278)
      • CSS, HTML (50)
      • CSS 프레임워크 (5)
      • JavaScript (114)
      • TypeScript (22)
      • react.js (49)
      • Next.js (9)
      • jQuery (8)
      • WIL😎 (20)
    • 코딩테스트 (27)
      • 알고리즘 & 자료구조 개념 (18)
      • 연습문제 (9)
    • 프로그래밍 (77)
      • Node.js (6)
      • Python (3)
      • 유용한 사이트 | 정보 (16)
      • Git, Github (24)
      • 정리하지 못한 내용 (3)
      • CS 지식 (25)
    • private (1)
      • interest (0)
      • 자격증 (1)
  • 방명록

Frontend/TypeScript (22)
[TypeScript] 빈객체, 객체 타입, 클래스 추가 개념

타입스크립트 4.8 업데이트에 추가된 타입 {} Object (대문자로 시작) -> 이 두가지 타입은 모든 타입을 가리키며 모든 값을 받을 수 있다. (null과 undefined는 제외) unknown도 any와 마찬가지로 모든 값을 받을 수 있는데 unknown이 4.8버전부터 {} | null | undefined 와 같이 성립되기 때문에 조건문에 들어갔을 때 아래와 같이 된다. const z: unknown = "hi"; //모든 타입이 들어가기 때문에 hi도 들어갈 수 있다. if (z) { z; //z의 타입이 {}이다. 파라미터로 들어온 z 는 unknown인데 true일때는 {}인 것 } else { z; //unknown } 실제로 객체 타입은 object가 있는데 string의 원시값을..

Frontend/TypeScript 2022. 12. 26. 23:53
[TypeScript] 타입 가드(좁히기), 커스텀 타입 가드

//타입 좁히기(타입 가드) { function numOnStr(a: number | string) { // if (typeof a === "string") { // a.split(","); // } else { // a.toFixed(1); // } a.toFixed(1); // number면 쓸 수 있지만 string일수도 있기 때문에 Error } numOnStr("123"); numOnStr(1); } -> 매개변수 타입이 number라면 toFixed 메서드를 사용할 수 있지만 string일수도 있기 때문에 내부에서 바로 쓰게되면 빨간 줄로 에러가 뜬다. TS에러 메세지가 여러 줄이 뜰 때에는 결국에는 마지막 줄을 보면 된다. 마지막 줄에 원인이나 해결방법이 나와있다. 위에 a.toFixed를 ..

Frontend/TypeScript 2022. 12. 24. 21:50
[TypeScript] create-react-app 으로 만든 리액트 앱 TS로 변환 세팅

우선 기존에 create-react-app 으로 만든 폴더를 TS를 적용하여 마이그레이션한다고 했을 때, 노드 패키지 매니저(npm or yarn)으로 typescript를 설치해줍니다. typescript만 추가하는게 아니라 아래와 같이 여러 개의 패키지를 추가로 설치해줍니다. npm i typescript @types/node @types/react @types/react-dom @types/jest @types/react-router-dom js확장자를 ts로 변경하고 jsx 를 tsx로 변경해줍니다. 👾컴포넌트를 .ts 확장자로 변환하면 jsx를 제대로 인식하지 못하고 에러를 토해내는 에러를 만났습니다. jsx를 반환하고 있는 컴포넌트는 tsx로 변환해주면 되고 jsx를 반환하지 않는 js파일은 ..

Frontend/TypeScript 2022. 12. 6. 22:06
[TypeScript | 타입스크립트 가이드북] TS vs ES6

화살표 함수 ES6부터 식(expression)에 한해 화살표 함수식을 활용할 수 있다. 더 나아가 매개변수, 리턴타입을 명시적으로 선언해 컴파일 과정에서 타입 검사를 수행해 사전에 문제를 방지할 수 있다. 아래는 매개변수 url의 타입을 string으로 지정하여 명시적으로 표현하였다. //TS let corsURL = (url:string): string => `https://crossorigin.me/${url}`; corsURL('http://yamoo9.herokuapp.com/rest/ediya-menu'); Default Parameters ES6 부터 함수 매개 변수의 기본값을 설정할 수 있다. TS는 매개 변수 타입 설정 후, = 뒤에 기본값을 할당하면 된다. 컴파일된 코드를 보면 기본 값..

Frontend/TypeScript 2022. 11. 28. 21:13
[TypeScript] 타입스크립트의 타입들

Basic Rules 최대한 타입은 좁은 범위로 작성 타입 추론을 적극 활용할 것 타입스크립트에서 타입을 빼면 올바른 자바스크립트 코드여야 한다. 타입 명시 자리를 잘 알고 있어야 한다. 원시타입 명시할 때, 대문자가 아니라 소문자로 써야한다. string과 String은 다르다. 💛콜론 뒤에 타입, 타입 별칭(에일리어스), body가 없는 function, 제네릭, 인터페이스, as, enum, declare, readonly 등은 TS코드에서 JS코드로 변환 시 사라진다. Implicit Types vs Explicit Types (암시 타입 vs 명시 타입) 암시 타입(Implicit Types)은 타입스크립트에게 해당 데이터의 타입을 추론할 수 있도록 타입을 명시하지 않는 방법을 말한다. (TS가..

Frontend/TypeScript 2022. 9. 4. 01:17
[TypeScript] 타입스크립트를 왜 사용할까? (with. 기본세팅)

들어가기 전에... 🤸‍♀️자바스크립트의 특성 -C나 Java와 같은 C-family 언어(클래스 기반 객체 지향 언어)와는 구별되는 특성 Prototype-based Object Oriented Language Scope와 this 동적 타입(dynamic typed) 언어 혹은 느슨한 타입(loosey typed)언어 동적인 언어 JS 예시 [1,2,3,4] + false // '1,2,3,4false' //출처: 노마드코더 결과가 미쳤다. 우선 두 타입이 전혀 다른 형태인데 연산은 왜 된것이며 연산이 됐다쳐도 배열은 어디가고 false는 string형태로 배열의 마지막 요소에 붙어있다. (차라리 에러를 던져주세요..) 런타임에러가 왜 최악의 에러일까? 런타임 에러란 콘솔 안에서 일어나는 에러이다. ..

Frontend/TypeScript 2022. 9. 2. 04:09
이전 1 2 3 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • tilde caret
  • 항해99추천비추천
  • 타입스크립트 장점
  • nvm 설치순서
  • 원티드 FE 프리온보딩 챌린지
  • text input pattern
  • 타입스크립트 DT
  • 항해99프론트
  • 부트캠프항해
  • 원티드 프리온보딩 프론트엔드 챌린지 3일차
  • ~ ^
  • D 플래그
  • 프리렌더링확인법
  • getStaticPaths
  • Prittier
  • is()
  • && 셸 명령어
  • grid flex
  • nvm경로 오류
  • 프리온보딩 프론트엔드 챌린지 3월
  • reactAPI
  • fs모듈 넥스트
  • 원티드 3월 프론트엔드 챌린지
  • 항해99프론트후기
  • 원티드 프리온보딩 FE 챌린지
  • aspect-ratio
  • float 레이아웃
  • getServerSideProps
  • 형제 요소 선택자
  • 틸드와 캐럿
more
«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바