JS

Programming Language/Typescript

[TypeScript] Type vs Interface

TypeScript에서 type과 interface는 둘 다 타입을 정의하는 데 사용되지만, 몇 가지 중요한 차이점이 있다.각각의 특징과 사용 시기를 비교해보려 한다.Type vs Interface1. 정의 방식:type: 타입 별칭(Type Alias)을 생성한다.interface: 인터페이스를 선언한다.type User = {name: string;age: number;};interface User {name: string;age: number;}2. 확장성:type: 교차 타입(&)을 사용하여 확장한다.interface: extends 키워드를 사용하여 확장한다.type Animal = {name: string;}type Bear = Animal & { honey: boolean };interfac..

Programming Language/Typescript

[TypeScript] 제너릭(Generic)

TypeScript를 사용하고있지만, 숙련도가 부족하다고 느끼는 가장 큰 포인트가 제너릭을 잘 몰라서인 것 같다.그런 김에, 제너릭의 다양한 용례를 통해 제너릭을 정리해보려한다.제너릭(Generic)제너릭(Generic)은 TypeScript에서 매우 강력한 기능으로, 코드의 재사용성을 높이고 타입을 더욱 유연하게 다룰 수 있다.제너릭을 사용하면 함수, 클래스, 인터페이스 등을 타입에 의존하지 않으면서도 타입 안전하게 작성할 수 있다.1. 기본적인 제너릭 함수제너릭 함수는 함수의 입력 타입과 반환 타입을 유연하게 지정할 수 있다.function identity(arg: T): T { return arg;}// 사용 예시const num = identity(42); // T는 number로 추론됨cons..

Programming Language/Javascript

[JS] 효율적이고 효과적인 자바스크립트 개발을 위한 45가지 팁(5)

위 글은 45 JavaScript Super Hacks Every Developer Should Know를 번역 겸 약간의 각색을 곁들인 글로,이 글은 5번째 중 5번째. 마지막 글이다.37. Avoid Global Variables (전역 변수 피하기)문제: 전역 변수는 충돌과 의도치 않은 부작용을 초래할 수 있습니다.해결책: 전역 변수를 피하면 충돌과 의도치 않은 부작용을 방지할 수 있으며, 코드의 모듈화와 유지보수성을 높일 수 있습니다.// PROBLEM: 전역 변수 사용// 전역 변수를 사용하면 충돌과 부작용이 발생할 수 있음var globalVar = 'This is global';function doSomething() { console.log(globalVar); // "This is gl..

Programming Language/Javascript

[JS] 효율적이고 효과적인 자바스크립트 개발을 위한 45가지 팁(4)

위 글은 45 JavaScript Super Hacks Every Developer Should Know를 번역 겸 약간의 각색을 곁들인 글로,이 글은 5번째 중 4번째 글이다. 28. Debounce Function (디바운스 함수)문제: 윈도우 리사이즈 이벤트와 같은 자주 호출되는 함수는 성능을 저하시킬 수 있습니다. 해결책: 디바운스 함수를 사용하여 함수가 일정 시간 동안 비활성 상태일 때만 실행되도록 하세요.// PROBLEM: debounce 미사용function logResize() { console.log('Window resized');}window.addEventListener('resize', logResize);// SOLUTION: debounce 사용function debounc..