본문 바로가기

전체 글27

Truthy & Falsy Truthy "string" (비어있지 않은 문자열) [] (빈배열) {} (빈객체) 2 "false" Infinity (양의 무한대) 참으로 판단되는 값 Falsy null undefined 0 -0 NaN "" (빈문자) Truthy, Falsy를 어떻게 활용할 수 있을까?? const getName = (person) => { if(person === undefined || person === null) { return "객체가 아닙니다"; } return person.name; }; let person = { name: "홍길동" }; const name = getName(person); console.log(name); // 홍길동 코드를 작성할 때마다 하나하나 조건문을 작성하는 것은 비효율적이.. 2023. 12. 14.
인덱스 시그니처 type CountryCode = { Korea: string; UnitedState: string; UnitedKingdom: string;};let countryCodes = { Korea: "ko", UnitedState: "us", UnitedKingdom: "uk",}; countryCodes의 프로퍼티가 굉장히 많다면 타입별칭에도 모든 프로퍼티의 키를 넣어줘야 한다.. => 비효율적임 이걸 해결하기 위한 것이 인덱스 시그니처 key와 value의 타입이 어떤 규칙을 가지고 움직이는 객체의 타입을 정의할 때 유용하게 사용된다. type CountryCodes = { [key: string]: string;};let countryCodes: CountryCodes = .. 2023. 12. 14.
자바스크립트 기본 복습 자료형 1. 원시 타입 한 번에 하나의 값만 가질 수 있다. 하나의 고정된 저장 공간을 이용한다. number, string, boolean, undefined, null let number = 12; - 변수를 선언할 때 값을 아무것도 할당하지 않을 경우 let a; console.log(a); // undefined 2. 비 원시 타입 한 번에 여러 개의 값을 가질 수 있다. 여러 개의 고정되지 않은 동적 공간을 이용한다. object, array, function let array = [1, 2, 3, 4]; 연산자 1. 널 병합 연산자 피연산자 중에서 null, undefined가 아닌 값을 선택한다. - a라는 변수에 값이 없다면 10을 대입하고 값이 있으면 그대로 그 값을 대입해라. let a.. 2023. 12. 13.
리터럴 타입 값 그 자체가 타입이 되는 것let num1: 10 = 10;num1 = 12; // 오류가 발생하고 10 이외에는 넣을 수 없다.let str1: "hello" = "hello";let bool1: true = true; 복합적인 타입을 만들 때 유용하게 사용되기 때문에 이런 타입이 있다는 것을 알아두자!   객체 리터럴 타입let user: { id: number; name: string;} = { id: 1, name: "홍길동",};user.id; 객체의 타입을 정의할 때는 오브젝트를 사용하면 객체인 것은 알지만 프로퍼티나 메서드에 접근하면 오류가 발생하기 때문에 잘 사용하지 않는다.=> 객체의 모든 프로퍼티들의 타입까지 구조적으로 정의할 수 있는 방식인 객체 리터럴 타입을 사.. 2023. 12. 12.
배열과 튜플 배열 타입 정의하는 방법1. let numArr: number[] = [1, 2, 3];2. let boolArr: Array = [true, false, false]; - 배열에 들어가는 요소들의 타입이 다양할 경우let multiArr: (number | string)[] = [1, "hello"]; - 다차원 배열의 타입을 정의하는 방법let doubleArr: number[][] = [  [1, 2, 3],  [4, 5],];   튜플길이와 타입이 고정된 배열이다.let tup1: [number, number] = [1, 2];tup1 = [1, 2, 3]; // 튜플 길이를 넘어서는 배열을 만들 수 없다. 튜플은 자바스크립트 코드로 컴파일해서 변환될 때는 배열로 변환된다.그래서 push, pop.. 2023. 12. 12.
타입스크립트 동작 원리 대다수의 프로그래밍 언어 동작 원리사람 - 프로그래밍 언어 ------------------ 기계어 - 컴퓨터                                           컴파일 : 컴퓨터가 이해하기 쉬운 형태로 변환                                          컴파일 과정자바스크립트 => AST (추상 문법 트리) => 바이트 코드 AST (추상 문법 트리)코드의 공백이나 주석, 탭 등 코드 실행에 관계없는 요소들을 전부 제거하고 트리형태의 자료구조에 코드를 쪼개서 저장해 놓은 형태.   타입스크립트의 컴파일 과정1. AST(추상 문법 트리) 2. 타입 검사- 검사 실패 => 컴파일 종료- 검사 성공 => AST를 자바스크립트로 변환 => 컴파일 종료타입과 관.. 2023. 12. 11.