전체 글

전체 글

    TS009. 타입스크립트의 내로잉 (Narrowing) 이란?

    Type Narrowing 이란? Narrowing 이란 영어 자체의 뜻으로 봤을 때 범위를 좁힌다는 뜻이다. 처음 선언한 것보다 더 구체적인 유형으로 구체화하는 프로세스를 Narrowing 이라고 한다. 타입스크립트에서 어떻게 타입 유추를 정확하게 가져가는지에 대한 논리를 말한다. 주요 기술로는 Type Guards (IF 로 검사), Type Assertions (수동 재정의), Control Flow Analysis (프로그램 흐름 분석) 가 있다. Narrowing 을 통해 Union 타입에서 더욱 구체적인 타입으로 논리적으로 유추가 가능하다. Narrowing 의 간단한 코드 예제 아래의 예제는 Type Guards 를 이용한 예제이다. //Narroiwng 예제 function processI..

    TS008. Typescript Intersection 이란?

    Intersection 이란? | 기호였던 Union 과 반대되는 개념이다. Union 은 OR 였다면, Intersection 은 AND 개념이다. & 기호를 통해 묶어준다. interface Person { name: string; age: number; } interface Company { location: string; companyName: string; } type BusinessMan = Person & Company; // 계속 & 로 엮어나갈 수 있음 // 모든 프로퍼티를 다 채워야만 에러가 나지 안ㄶ음 let businessMan: BusinessMan = { name: "jake", age: 10, location: "seoul", companyName: "super startup"..

    TS007. 타입스크립트 Union 이란?

    유니온 (Union) 이란? 타입스크립트에서 타입을 병합할 수 있는 방법 중 하나임 | 기호를 이용함 아래의 코드에서 StringOrNumberType 은 string 이나 number 타입 두가지를 병합한 타입임 타입에 유연성을 제공함 type StringOrNumberType = string | number; let stringOrNumberType: StringOrNumberType = "김모씨"; stringOrNumberType = 100; 타입 가딩 (Type Guarding) 이용 Union 타입을 이용하는 경우 아래와 같이 instnaceof 혹은 typeof 를 통한 타입 가딩을 이용해 동작 방식을 지정해줄 수 있음 function combine(input1: number | string..

    TS006. 타입스크립트 타입 캐스팅 및 주의점

    캐스팅 방법 아래의 예제 코드와 같이 as 타입 으로 캐스팅 가능 let someNumber = 3; someNumber as any; const twoNumbers = [1, 3] as const; 주의점 타입스크립트는 언제나 자바스크립트로 컴파일 된다는 점이 중요 캐스팅하면 타입스크립트에서 인식되는 타입은 바뀌지만 자바스크립트에서는 그대로임 이 부분 때문에 자바스크립트와 타입스크립트 간의 타입 괴리가 생길 수 있음 아래 코드의 경우, string 으로 캐스팅을 해도 출력시 number 가 나옴 let anyNumber: any = 3; console.log(typeof (anyNumber as string)); // 결과로 number 가 나옴 any 로 캐스팅하는 경우 주의점 초보의 경우 타입 설정..

    TS005. 타입스크립트의 타입 추론 (type inference)

    타입 추론 (Type Inference) 타입스크립트에서 자체적으로 변수나 파라미터의 타입을 유추하는 기능 기본 타입 추론 예시 아래의 코드에서는 :number 와 같이 타입을 지정해주지 않았음에도 타입스크립트가 스스로 타입을 추론함 let myNumber = 1000; // number 타입 let myBoolean = true; // boolean 타입 let myString = "jake"; // string 타입 myNumber = "JAKE"; // 기존에 number 로 추론된 타입에 문자열을 넣으려 하면 에러가 발생함 const 키워드가 붙었을 때의 타입 추론 const 키워드가 붙으면 let 키워드와 좀 다르게 상수로 타입을 추론함 const 로 선언된 상수는 변화할 일이 없으니 더 구체적..

    TS004. 타입스크립트의 Enum 타입 간단하게 알아보기

    타입스크립트 Enum JS 에서는 enum 이 존재하지 않음 enum 을 대체하기 위해 일반 상수에 문자열을 넣는 방식으로 코드를 짜왔음 실수를 방지하기 위함 JS 에서 Enum 을 흉내내어 사용하던 방식 아래와 같이 특정 문자열에 대응되는 상수를 작성해놓으면 자동완성으로 오타없이 쉽게 이용이 가능 const REQUEST_STATE = "REQUEST"; const LOADING_STATE = "LOADING"; const DONE_STATE = "DONE"; const ERROR_STATE = "ERROR"; TS 에서 Enum 을 사용하는 방식 interface 와 흡사하게 선언함 = 없이 선언 아래와 같이 선언 시에 ts 컴파일 이후에는 숫자가 0부터 차례대로 들어감 enum State { REQ..

    TS003. 타입과 인터페이스

    타입과 인터페이스 type 과 interface 는 타입스크립트에서 새로운 타입을 정의할 때 사용하는 가장 일반적인 키워드이다. type 은 타입스크립트의 타입에 이름을 지어주는 역할을 한다. interface 는 타입보다 훨씬 나중에 생겼다. 타입 예제 type StringType = string; // StringType 이라는 타입 선언을 하고 string 타입과 동일하게 설정할 수 있다. type Sex = "male" | "female"; // n가지 중 하나를 선택하는 타입을 정의할 수도 있다. type Person = { // 객체 형태의 타입을 정의할 수도 있다. name: string; age: number; }; 타입을 통한 추상화 전후 살펴보기 me1 과 me2 의 타입 형태는 결국 ..

    TS002. 자바스크립트의 기본(Primitive) 타입과 타입스크립트에만 있는 타입

    자바스크립트의 기본 타입 자바스크립트의 기본 타입으로는 7가지 타입이 있다. string, number, bigint, boolean, symbol, null, undefined 이는 MDN 문서의 Primitive 항목에서 알 수 있다. 자바스크립트 기본 타입을 타입스크립트로 표현하기 기본 타입을 타입스크립트로 표현하는 방식은 기본적으로 변수명: 타입 을 이용해 변수를 선언하면 된다. const stringType: string = "String"; const numberType: number = 123; const bigIntType: bigint = BigInt(9999); const booleanType: boolean = true; const symbolType: symbol = Symbol(1..

    TS001. 자바스크립트 -> 타입스크립트 변경 시 이점

    자바스크립트 (동적 타입 언어) 의 한계 자바스크립트는 동적 타입 언어라 태생적 한계가 몇가지 있다. 런타임 타입 오류 함수의 매개변수로 의도치 않은 타입이 들어온다고 해도 런타임에 알 수 있다. 아래의 코드와 같이 무언가를 더하는 add() 라는 함수가 있다면, 들어오는 타입에 따라 반환 결과가 완전히 달라진다. MDN Plus 연산자 스펙 에 따라 문자열과 숫자가 + 연산자를 만나면, 숫자 타입의 매개변수는 "default" 를 힌트로 사용하여 형변환되어 문자가 된다. function add(a, b) { return a + b; } add(1, 2); add(1, "2"); // coersion 발생 아래와 같이 타입 체크를 런타임에 해줄 수 있지만, 말 그대로 런타임에 타입 체크를 하는 것이기 때..

    타입스크립트 설치 후 tsc 명령어가 실행되지 않는다면?

    tsc 명령어가 실행되지 않을 때 타입스크립트 설치 후 tsc 명령어가 실행되지 않는 경우가 있다. ex) tsc --version 이 때, 에러가 UnauthorizedAccess 라면, Powershell 접속 후 Set-ExecutionPolicy Unrestricted 명령어를 실행하여 해결할 수 있다. 명령어의 의미 실행 정책을 설정을 변경하는데 쓰인다. PowerShell 이 스크립트를 실행하고 보안을 구성하는 방법을 결정한다. Set-ExecutionPolicy 뒤에 어떤 타입이 오냐에 따라 보안 설정이 변경된다. Restricted: 스크립트를 실행할 수 없음 AllSigned: 신뢰할 수 있는 게시자가 서명한 스크립트만 실행 가능 RemoteSigned: 다운로드한 스크립트는 신뢰할 수 ..

    안드로이드 스튜디오 에뮬레이터 Location 탭 흰화면만 뜰 때

    안드로이드 스튜디오 에뮬레이터 Location 탭 흰화면만 뜰 때 힌트 링크 SDK 플랫폼이랑 에뮬레이터 버전을 업데이트 해보라고 함 업데이트 하려면 Settings 들어가서 update 검색해보면 나옴

    Elastic Network Adapter (ENA) 란?

    Elastic Network Adapter (ENA) 란? EC2(Elastic Compute Cloud) 서비스에 고성능 네트워크 기능을 제공하는 네트워크 인터페이스다. AWS 의 최신 가상화 컴퓨팅 환경에 특화되어 설계됐다. 주요 특징 높은 처리량과 짧은 지연 시간 (High Throughput and Low Latency): 더 높은 대역폭(bandwidth), 낮은 지연 시간(lower latency), 더 많은 패킷 처리를 지원한다. 향상된 네트워킹 (Enhanced Networking): 기존 가상화 네트워킹 스택 대비 더 높은 성능과 패킷 처리 일관성을 제공 확장성 및 유연성 (Scalability and Flexibility): 인스턴스 유형의 대역폭에 따라 자동으로 확장됨. 강력한 EC2..

반응형