타입스크립트2 [TypeScript] Decorator를 이용한 코드 변경 class TestClass { test() { console.log('test!'); } } 위와 같은 클래스가 존재할 때, test() 메소드를 실행시키면 test! 가 터미널에 찍힐 것이다. 이를 test? 로 출력하기 위해 데코레이터로 코드를 바꾸어 실행 결과를 바꿀 수 있다. function Test(target: any, key: string, descriptor: PropertyDescriptor) { const stringified = String(descriptor.value); const matches = stringified.match(/\{([^}]+)\}/); const extracted = matches[1].replace('!', '?'); const execute = new .. 2023. 11. 7. 스프레드 연산자는 .concat보다 성능이 좋다. const a = [1, 2, 3]; const b = [4, 5, 6]; const c = a.concat(b); // Bad const d = [...a, ...b]; // Good 스프레드 연산자는 concat을 쓰는 것보다 일반적으로는 더 빠르다. 왜냐하면 스프레드 연산자는 새 배열을 생성 및 조작할 필요가 없고, concat은 새 배열을 만들고 원래의 배열을 합치기 때문이다. 그럼 언제 concat이 더 빠를까? 배열 안에 하위 배열이 있고 그 수가 매우매우 많을 때 concat이 더 빠를 수 있다. 대부분의 웹개발에서는 스프레드를 쓰는게 좋다는 결론. 하지만 개인적으로는 가독성이 concat이 낫다고 생각할 때는 concat 또한 애용하는 편이다. 함수형으로 짜다 보면 중간에 스프레드를 껴넣기.. 2023. 1. 19. 이전 1 다음 728x90