1. 타입 별칭(type alias)let user: { id: number; name: string; nickname: string; birth: string; bio: string; location: string;} = { id: 1, name: '김도현', nickname: 'no_dohyun', birth: '2000.10.30', bio: '안녕하세요', location: '부천시',};let user2: { id: number; name: string; nickname: string; birth: string; bio: string; location: string; } = { id: 1, name: '김도현', nickna..
전체 글
삽질도 기록이 된다면, 그건 경험이다 🧑🏻💻1. Object 타입// object로 타입지정let user1:object = { id: 1, name: '김도현',};user1.id; //'object'형식에 'id'속성이 없습니다. object로 타입을 지정해 주는 경우, user1이 객체라는 정보밖에 없기 때문에, 안에 있는 객체들의 정보는 알 수 없어 점표기법으로 id속성에 접근하게 되면 오류가 발생하게 된다. 그렇다면 어떻게 해결해야 할까? 리터럴 방법을 사용해야 한다. 2. 객체 리터럴 // 객체 리터럴 방식으로 타입지정let user2: { id:number; name:string;} = { id:1, name:"김도현",}user2.id; // 정상적으로 인식 위처럼 선언하는 방식을 객체의 각 속성을 리..
1. 배열// 배열let numArr: number[] = [1, 2, 3];let strArr: string[] = ['hello', 'im', 'dohyun'];let boolArr: Array = [true, false, true]; 배열을 선언하기 위해서는 : 다음에 배열 안 원소의 타입을 적어주고 []을 붙여주면 된다.이러한 방식말고, : 다음 Array을 적어주는 Generic문법으로 작성하는 방법도 존재한다. 그렇다면 배열에 들어가는 요소들의 타입이 다양한 경우에는 어떻게 선언해야 할까?//배열에 들어가는 요소들의 타입이 다양한 경우let multiArr: (number | string)[] = [1, 'hello']; union타입으로 선언할 수 있다. [1, 'hello']와 같이 str..
1. 기본타입이란? 기본타입이란 타입스크립트가 자체적으로 제공하는 타입으로 자바스크립트에서 기본적으로 제공하는 null, numver, string, undefined와 같은 타입도 존재하며, 타입스크립트에서 추가적으로 제공하는 타입인 any, void, unknown과 같이 타입스크립트에만 존재하는 타입들을 말한다. 위 사진과 같은 트리를 타입 트리라고 부르는데, 각각의 타입들은 트리구조로서 부모와 자식의 관계를 가진다. 2. 원시타입과 리터럴 타입원시타입이란 영어로 Primitive Type으로 동시에 1개의 값만 저장할 수 있는 타입을 말한다.예를 들어 원시타입이 아닌, 배열과 객체는 여러 값을 가질 수 있다.numver, string, boolean, null, undefined와 같은 타입들은..
옵시디언을 사용하다 보면 여간 불편한 게 한 두 개가 아니다. 옵시디언에 코드를 복붙하다보면, 한 줄씩 띄어져서 들어가는 것을 볼 수 있다. 도대체 옵시디언은 왜 이럼?근데 아마 윈도우 기반과 유닉스 기반의 차이에서 생기는 \n과 \r+\n의 차이로 발생하는 것 같긴 하다. 그렇다면 또 옵시디언이라 뭐 설정하고 어렵게 해결하냐? nono~ 간단 데스네 해결방법ctrl + shift + v로 붙여넣기를 하면, 서식 없이 붙여넣기! 해결완료! PS. 코드 블록은 어떻게 만드나요? 옵시디언은 마크 다운 문법이기 때문에 ``` ``` 앞뒤로 백틱 3개로 감싸주면 코드블록이 완성되고 맨 위 사진처럼 앞 백틱 3 개 ```다음에 언어를 써주면, 코드 하이라이팅도 된답니다 ~
0. 타입스크립트 컴파일러 옵션이란?컴파일러 옵션으로 "얼마나 엄격하게 타입 오류를 검사할지", "자바스크립트 코드의 버전은 어떻게 할지" 등 다양하고 자유롭게 컴파일러 옵션을 설정할 수 있다. 타입스크립트 컴파일러 옵션 프로젝트에 맞게 컴파일러 옵션을 설정도 가능하다!컴파일러 설정 파일 만들기tsc --init 1. includeinclude옵션은 어느 범위를 컴파일 할 것인지를 정하는 옵션이다.src파일 하위에 있는 모든 코드를 컴파일 하고 싶으면, 아래와 같이 작성할 수 있다.{ "include": ["src"], //컴파일 할 typescipt 파일들의 범위와 위치를 알려주는 옵션} 2. compilerOptions{ "include": ["src"], //컴파일 할 typesci..
1. npm initnpm init 새 폴더를 만든 후 폴더 안에서 npm init을 한 이후 모든 옵션들을 기본적으로 enter로 넘어가게 되면 package.json이 생성되게 된다. 2. types/node 설치 npm i @types/node types/node는 typescript에서 사용할 타입들이 정의되어있는 라이브러리를 설치한다고 생각하면 된다. 다운로드한 후 node_modules에 들어가면, TypeScript로 console.log에서의 console과 같은 각 다양한 타입에 대해 미리정의되어 있는 것을 확인할 수 있다. 3. TypeScript 컴파일러 설치 TypeScirpt를 컴파일하게 되면 JavaScript로 파일이 변환되어 생성되게 된다.그렇기 때문에 TypeS..
1. 대다수의 프로그래밍 언어는 어떻게 동작할까? 대부분의 프로그래밍 언어는 사람에게 더 친숙하다. 컴퓨터는 이진수, 바이트 코드 등을 사용하기 때문에 영어의 문법과 같은 언어를 컴퓨터는 바로 이해하기는 어렵다. 그렇기에 컴퓨터가 이해하기 쉬운 형태로 프로그래밍언어를 기계어로 변환한다.이를 컴파일(Compile)이라고 한다. 코드를 기계어로 컴파일하는 친구를 컴파일러라고 한다. 2. JavaScript 컴파일 과정 Javascript를 컴파일하게 되면 바이트 코드로 컴파일된다.Javasciprt는 바이트 코드로 컴파일되기 전에 AST(추상 문법 트리)로 먼저 변환되게 되는데, AST란 무엇일까? 위 그림과 같이, 주석, 공백, 탭과 같은 관계없는 코드들은 모두 제거하고,트리형태의 자료구조에 코드..
1. 타입스크립트타입스크립트는 오픈소스로 공개되어 있다.타입스크립트는 "더는 피할 수 없는 대세가 되어버린 타입스크립트"일 정도로 굉장히 인기가 많다. 1. 타입스크립트란? 타입스크립트는 자바스크립트의 확장판이라고 할 수 있으며, 자바스크립트를 더 안전하게 사용할 수 있도록 "타입 관련 기능들을 추가한" 언어이다. Q. 타입스크립트는 왜 배워야 하는 것일까? A. 아이러니하게도 자바스크립트가 인기가 많기 때문이다.js는 처음에 웹페이지에서 간단한 버튼을 눌렀을 때와 같이 사용자와 상호작용하는 기능을 담당하는 언어로써, 유연한 문법과 자유로움이라는 장점이 존재했다. (버그 발생 가능성 높음)하지만, nodeJS의 등장으로 웹에서만 작동하는 것이 아닌 다양한 곳에서 활용되기 시작하면서, 더 엄격한 JS가 ..
오류 상황 필자의 경우 { "include": ["src"], "compilerOptions": { "target": "ESNext" } }compilerOptions의 target을 ESNext로 변경한 이후로 오류가 발생하였다. 오류 출력더보기node_modules/@types/node/globals.d.ts:6:76 - error TS2792: Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?6 type _Request = typeof globalThis extends { onmess..