[TypeScript] 제네릭(Generic) 기초부터 실무까지 정리
·
프로그래밍/typescript
[TypeScript] 제네릭(Generic) 기초부터 실무까지 정리TypeScript의 제네릭(Generic)은 코드의 유연성과 재사용성을 높여주는 강력한 기능입니다.함수, 클래스, 인터페이스에서 다양한 타입을 다뤄야 할 때, 제네릭을 사용하면 코드 중복 없이 타입 안정성을 유지할 수 있습니다.이 글에서는 제네릭의 기초 문법부터, 실무에서 자주 쓰이는 활용 예제까지 정리해드리겠습니다.✅ 제네릭이란?제네릭은 타입을 고정하지 않고, 사용할 때 지정할 수 있게 만드는 기능입니다.기본 문법은 를 사용하는 형태입니다.// 제네릭 함수 예시function identity(value: T): T { return value;}// 사용 예identity("hello"); // "hello"identity(123)..
[typescript] 타입스크립트에서 'this' 바인딩 문제 해결하기
·
프로그래밍/typescript
최근 타입스크립트 프로젝트에서 클래스 내부 메서드를 setTimeout이나 setInterval 등과 함께 사용할 때 this 바인딩 문제에 직면했습니다. 일반적으로 자바스크립트에서 setTimeout과 같은 비동기 함수는 메서드 내부에서 this가 바인딩되지 않는 문제를 발생시킬 수 있습니다. 이는 자주 발생하는 문제로, 예를 들어 다음과 같은 코드에서 문제가 발생합니다 class Counter { count: number = 0; increment() { this.count++; console.log(this.count); } startCounting() { setInterval(this.increment, 1000); // this가 바인딩되지 않아 오류 발생 }}cons..
[typescript] Word Addin에서 지정된 북마크에 텍스트를 추가하는 함수
·
프로그래밍/typescript
개발 환경 Office365 WordAddin - Typescript 함수/** * 지정된 북마크에 텍스트를 삽입하는 함수 * @param bookmarkName - 텍스트를 삽입할 북마크의 이름 * @param text - 북마크에 삽입할 텍스트 */ async function insertTextAtBookmark(bookmarkName: string, text: string) { await Word.run(async (context) => { // 북마크 Range 가져오기 let bookmarkRange = context.document.getBookmarkRangeOrNullObject(bookmarkName); bookmarkRange.load(); await context.sync(); if ..