본문 바로가기

Javascript & Typescript5

[Typescript] any 타입을 가능한 좁은 범위에서 사용하기 이 글은 '이펙티브 타입스크립트' 책의 내용을 정리한 글입니다. any 타입은 가능한 한 좁은 범위에서만 사용하기 먼저 함수와 관련된 any의 사용법을 살펴봐야 합니다. function processBar(b: Bar) {/*...*/} function f1 () { const x = expressionReturningFoo(); processBar(x); // ~ 'Foo' 형식의 인수는 'Bar' 형식의 매개변수에 할당 될 수 없음 } 문맥상으로 `x`라는 변수가 동시에 `Foo` 타입과 `Bar` 타입에 할당 가능하다면, 오류를 제거하는 방법은 두 가지 입니다. function f2() { const x: any = expressionReturningFoo(); // 이렇게 하면 안됩니다. proc.. 2022. 1. 7.
JS Garbage Collection Garbage Collection `Garbage Collection`(이하 GC) 은 메모리 관리 기법 중 하나로 프로그램이 동적으로 할당했던(Heap 영역) 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 즉, 동적으로 할당 된 메모리 영역 가운데 어떤 변수도 가리키지 않는 메모리 영억을 탐지하여 자동으로 해제하는 기법이다. C언어 같은 `Unmanaged Language`는 메모리 관리를 위해 `malloc()`, `free()` 등을 사용하지만, 자바스크립트 같은 경우에는 그렇지 않다. 즉, 자동으로 메모리를 할당하고 쓸모 없어졌을 때 자동으로 해제하는 기법을 사용하는데, 이게 바로 GC의 목적이다. 이렇게 GC에 의존하는 코딩을 하라고 만든것은 아니다. 이러한 자동 메모리 관리는 잠재적 혼란.. 2022. 1. 2.
JS - Function JavaScript Function Type function sayHello(potato, chicken) { console.log(potato, 'Hello!', 'you have', chicken); } sayHello("YunMin", 15); console.log('Hi'); 자바 스크립트의 Function Type, 흔히 알던 C/C++, JAVA 와 다른점은 Return Type, Parameter의 Data Type 의 부재이다. 위 코드를 보면, 'sayHello' 라는 함수의 기능은 console에 'potato' Parameter 변수와 String을 출력해주는 기능을 가지고 있고, 함수를 벗어나 'sayHello' 라는 함수를 호출하면서 Argument 로서, "YunMin" 이라는 .. 2020. 7. 21.
JS - Object Array와 Object의 차이 Object에는 각 value의 이름을 정의할 수 있음 Javascript Object Type const YunMininfo = { name:"YunMin", age:25, gender:"Male", isHandsome:true } console.log(YunMininfo.gender); YunMininfo.gender = "Female"; console.log(YunMininfo.gender); YunMininfo 라는 변수를 만든다. Array와의 차이점은 이름을 정의할 수 있는데, 위 코드를 보면 name : "YunMin" 같은 형식으로 지정할 수 있다. 'YunMininfo.name' 같이 접근하는 방법은 '.' 을 이용해서 접근한다. Object와 Array의.. 2020. 7. 21.
프레임워크란? 🛁 프레임 워크 💡 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말한다. 컴퓨터 프로그래밍에서 프레임워크는 구조적으로 고정된 부분을 재사용할 수 있도록 하고, 응용별 특정 기능을 추가적인 사용자 작성 코드에 의해 선택적으로 구현 가능하도록 하는 포괄적인 추상 구조, 그리고 이를 지원하는 소프트웨어 플랫폼을 말한다. ;즉, 소프트웨어의 개발에 필수적이고 표준적인 부분에 해당하는 설계와 구현을 재사용 가능하도록, 일련의 협업화된 형태의 클래스들로 제공하는 반제품 소프트웨어 모듈이라고 볼 수 있다. 소프트웨어 프레임워크는 지원 프로그램, 컴파일러 , 코드 라이브러리, 도구 .. 2020. 3. 26.