반응형

전체 글 46

typescirpt 공부하기) Enums 이넘

Enums 특정값들의 집합을 의미하는 자료형. 타입스크립트에서는 문자형 이넘과 숫자형 이넘을 지원함. 숫자형 이넘 타입스크립트에서 숫자형 이넘은 아래와같이 선언한다 enum Direction { Up = 1, Down, Left, Right } //위와같이 숫자형 이넘을 선언할 때 초기값을 주면 초기값부터 차례로 1씩 증가 Up - 1 Down - 2 Left - 3 Right -4 //만약 아래처럼 초기값을 주지않으면 0부터 차례로 1씩 증가함 enum Direction { Up, //0 Down, //1 Left, //2 Right //3 } 숫자형 이넘 사용하기 enum Response { No = 0, Yes = 1, } function respond(recipient: string, messag..

ts공부하기) 인터페이스2 - 읽기전용속성, 객체선언 타입체킹

어제의 인터페이스에 이은 글. 옵션속성에 대해서 공부했다면 이번엔 읽기전용 속성부터 시작한다. 읽기전용 속성 읽기 전용 속성은 인터페이스로 객체를 처음 생성할 때만 값을 할당하고 그 이후에는 변경할 수없는 속성을 의미한다. readonly속성을 앞에 붙여서 사용한다. interface CraftBeer { readonly brand: string; } //인터페이스로 객체 선언 후 수정을 시도하면 오류가 난다. let myBeer: CraftBeer = { brand: 'blanc' }; myBeer.brand = 'Most Favorite' // error! 읽기 전용 배열 배열 선언시 ReadonlyArray 타입을 사용하면 읽기전용 배열이 생성 가능하다. //다음과 같이 배열을 ReadonlyArr..

Dart 공부하기) late 키워드

Dart는... 갑작스러운 강의사자 병이 도져서 사버린 강의를 들으면서 살짝씩 정리 Dart에서 late를 활용한다면 변수 선언과 동시에 초기화를 하지 않아도 됨. Dart의 컴파일러에게 에러 뱉지마십쇼 하는것. 주의할점은 late키워드를 사용한 변수를 초기화 하지 않고 사용하면 런타임 에러가 발생함 late 키워드의 장점은 변수를 사용하지 않으면 초기화 되지 않는다는점. 초기화 지연이라 불리는 기능은 초기화 값이 비싼 연산을 사용하지 않는다면 실행하지 않는다는점. int initializeInt(){ int sum = 0; for (var i = 0; i

Dart, Flutter 2023.10.24

ts 공부하기) 인터페이스

인터페이스는 상호 간에 정의한 약속 혹은 규칙이다. 타입스크립트에서의 인터페이스는 보통 아래와 같은 범주에 대해 약속을 정의할 수 있다. 객체의 스펙(속성과 속성의 타입) 함수의 파라미터 함수의 스펙(파라미터, 반환 타입 등) 배열과 객체를 접근하는 방식 클래스 인터페이스 예제 let person = { name: "Batman", age: 30 }; //logAge() 함수에서 받는 인자의 형태는 'age'를 속성으로 갖는 객체 //아래와 같이 인자를 받을 때 단순한 타입 뿐만아니라 객체의 속성 타입까지 정의가능. function logAge(obj: {age: number}) { console.log(obj.age); //30 } logAge(person); //30 인터페이스를 적용한다면 inter..

추가공부) JavaScript & TypeScript의 this

ts 함수에대해 공부하던중 this가 나와서 정리 자바스크립트의 this javascript의 this는 함수를 호출할 때 어떻게 호출했는지에 따라 달라진다. 개발자 도구를 통해서도 확인이 가능하다. 참고로 window 객체는 브라우저의 요소들과 자바스크립트 엔진, 모든 변수를 담는 객체이다. 함수 내부에서의 this는 다름을 볼 수 있다. 반대로 객체 내부 a라는 메소드에 this를 넣어보면 아래와 같다. let obj = { a: function() { console.log(this); }, }; obj.a(); obj라는 객체의 메소드 a는 obj를 가르킨다. // 위의 obj.a를 꺼내서 b라는 변수에 할당하면 this는 window를 출력함을 알 수 있다. let b = obj.a; consol..

ts공부하기) typescript 함수

웹 구현시 자주 사용되는 함수는 타입스크립트로 크게 아래 3가지의 타입을 볼 수 있다. 함수의 파라미터(매개변수) 타입 함수의 반환 타입 함수의 구조 타입 함수의 기본적인 타입 선언 타입스크립트의 함수 선언 방법을 이해하기 위해서 자바스크립트 함수를 먼저 살펴보자 function sum(a, b) { return a+b; } //위의 js함수에 타입을 부여하면 function sum(a: number, b: number): number { return a+b; } → 기존 js 함수의 선언방식에서 매개 변수와 함수의 반환값에 타입을 추가하였다. 함수의 반환 값에 타입을 정하지 않을때는 'void'를 사용한다. 함수의 인자 타입스크립트에서는 함수의 인자를 모두 필수값으로 간주한다. 따라서 함수의 매개변수를..

ts공부하기) 타입스크립트 기본 타입

Javascript 코드에 타입스크립트로 타입을 정의할 수 있다. Typescript의 기본 타입에는 크게 12가지가 있다. Boolean Number String Object Array Tuple Enum any void null undefined never String Javascript 변수 타입이 문자열인 경우 다음과 같이 선언하여 사용합니다. let str: string = 'hello'; ✔ 위처럼 : 를 이용하여 자바스크립트 코드에 타입을 정의하는 방법을 Type Annotation(타입표기, 타입애너테이션)이라고 한다. Number /* 타입이 숫자일때 */ let num: number = 18; Boolean /* 타입이 진위 값인 경우 */ let isTure: boolean = tur..

ts공부하기) nest.js에서 필요한 필수 typescript

Nest는 타입스크립트를 기본언어로 채택한다. javascript로 바꿀 수 있지만, typescript의 장점을 이용하기 위해서 기본설정을 바꾸지 않는것이 좋다. typescript는 마이크로소프트에서 개발한 언어이다. 자바스크립트 코드에 타입시스템을 도입했다. 따라서 런타임 에러가 발생할 가능성이 있는 코드를 찾아준다. 이때 정적분석(Static Analysis)로 찾아준다고하는데 소스코드를 실행하지 않고 코드만을 분석하여 문제가 될 부분을 찾아내는 기법이다. 타입스크립트는 tsc명령으로 컴파일하여 자바스크립트 코드로 변환이 가능하다. 컴파일 후 생성된 자바스크립트는 타입이 없다. (자바스크립트는 타입이 없기 때문) 변수선언 [선언키워드] [변수명] : [타입] Typescript에서 변수를 선언하는..

wsl2 오류)WslRegisterDistribution failed with error: 0x80370114

wsl2를 세팅하고 ubuntu를 다운받아 진행하려던 중 아래와같은 오류가 뜸. WslRegisterDistribution failed with error: 0x80370114 윈도우 홈페이지에 가면 나와같은 증상으로 오류가 난 사람들이 댓글을 달아줌. 하지만 폴더명이 나는 한글, 그들은 영어라서 모르겠음. 한국인의 도움을 받아서 진행. 윈도우 기본검색 > '기능'검색 > Linux용 Windows 하위시스템 선택 그리고 Microsoft Store가서 Ubuntu 20.04.4 LTS 다운로드... 아나 그래도 안됨. 같은 오류메시지뜸. 작업관리자가서 위의 캡쳐 우측하단의 '가상화: 사용'을 보면됨. 유감스럽게도 난 사용이었음. 그럼 다시 Windows기능으로가서 'Hyper-V'를 본다. 이친구를 켜..

카테고리 없음 2023.08.14

ts 공부하기) 타입 애너테이션

vscode로 진행하거나 typescriptlang.org에서 제공하는 playground 로 가면 타입스크립트를 이용할 수 있다. Type Annotation 타입스크립트는 상당히 직관적인데, 변수이름뒤에 콜론(:)을 적고 타입을 적어주면 된다. //Declaring a variable in JS const awesomeVariable = 'WOW'; //Declaring a variable in TS const awesomeVariable: string = 'WOW'; 타입스크립트에게 'WOW'가 뭔지 알려주는거라고 생각하면 쉽다. 타입은 등호 왼쪽에 써주며 숫자, 불리언, 문자열이나 undefined 등 원하는것을 쓰면 된다. String string타입을 사용할때는 언제나 소문자여야한다. 아래 작..