typescript 5

개발자 필수 사항: JavaScript console 메서드 - 1

이번 글에서는 javascript에서 주로 사용되는 console 메서드에 대해 알아보도록 하겠습니다. 여기서 말하는 console 메서드는 개발자라면 한 번쯤은 사용해 본 console.log() 같은 메서드를 말합니다. console엔 info,error,trace 같은 다양한 메서드들이 있는데 오늘은 자주 사용하는 것과, 쩌는 것 한가지를 알아봅시다. 자세히 적으면, 안 볼 것 같아서 간단하게 적겠습니다. 자세하게 알고 싶으면 아래의 주소를 참조해주세요 https://developer.mozilla.org/en-US/blog/learn-javascript-console-methods/ Developer essentials: JavaScript console methods | MDN Blog The ..

typescript 2024.01.26

keyup/keydown에서 한글 입력 시 함수가 두 번 실행되는 경우

onKeyDown, onKeyUp은 키를 누르고 떼는 동작에 반응합니다. 그래서 보통 input에 이벤트를 걸고 사용하게 되는데 한글을 입력하게 되면 함수가 두 번 실행되는 경우가 있습니다. 이 경우는 동아시아문자의(CJK)의 특이성 때문입니다. 한글을 예로 들면 한글은 자음과 모음의 조합으로 한 음절인 조합문자지만, 영어는 한 음절이 하나의 알파벳으로 이루어집니다. 이 말은 우리가 input에 입력시마다 이벤트를 걸었을 때 우리가 키를 누르고 떼는 순간까지의 시간 동안에 이벤트가 발생하고 진행되는데, 그 시간 동안에 음절이 완성되면 다시 이벤트가 호출될 수 있다는거죠. 당연하지만 JS는 영어를 기준으로 작성되었기 때문에 우리는 이걸 따라야만 합니다. 해결방법으로는 두가지가 있습니다. 1.onKeyPre..

typescript 2023.06.03

User defined type guards 에 관하여

이전에 타입 가드에 대해 이야기한 적이 있습니다. 오늘은 유저 정의 타입 가드에 대해 간단히 이야기 해보죠. 타입가드는 컴파일러가 타입을 예측할 수 있도록 타입을 좁혀 타입을 더 명확하게 보장할 수 있도록 합니다. 타입 가드엔 여러가지가 있습니다. Javascript에 이미 존재하는 typeof, instanceof 연산자를 이용해 타입 가드를 할 수도 있죠. 하지만 오늘은 제목이 user defined type guards이니까 이것에 대해 알아보도록 합시다. interface Animal { name: string; age: number; } interface Flower { type: string; age: number; } interface ExampleInfo { page: number; inf..

typescript 2023.02.24

Typescript에 관한 기초 정리 - (2)

InterSection Type 인터섹션 타입은 여러 타입을 만족하는 하나의 타입을 말합니다. interface Person { name : string; age : number; } interface Developer { name : string; skill : string; } type Capt = Person & Developer 위 코드는 Person과 Developer 인터페이스의 타입 정의를 & 연산자를 이용하여 합친 후 Capt라는 타입에 할당하는 코드입니다. 이렇게 되면 Capt의 타입은 아래와 같이 정의됩니다. { name : string; age : number; skill : string; } Interface 인터페이스는 상호 간에 정의한 약속 혹은 규칙을 의미합니다. 타입스크립트에..

typescript 2023.02.04

Typescript에 관한 기초 정리 - (1)

개인적으로 공부한 타입스크립트에 대한 정리입니다. 최소한으로 보기 위한 예제만 정리해서 자세한 사용법은 공식 문서를 참조하시는 게 도움이 됩니다. Typescript? 타입스크립트는 자바스크립트에 타입을 부여한 언어입니다. 대규모 애플리케이션을 개발하는 데에 자바스크립트가 어렵고 불편하다는 불만에 대응하기 위해 MS사에서 개발한 언어로, ES5 문법을 그대로 가져다 사용할 수 있습니다. 뿐만 아니라 ES6 문법을 위한 Babel과 같은 별도의 트랜스파일러를 사용하지 않아도 ES6 문법을 사용할 수 있습니다. Tuple 튜플은 배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 형식을 의미합니다. let arr : [string, number] = ['hi, 10]; Enum 특정 값(상수)들의 ..

typescript 2023.01.31