Front end46 [JavaScript] 가비지 컬렉션 가비지컬렉션이란 더이상 다른 객체에 참조되지 않는 객체를 삭제하여 메모리 누수를 방지하는 메모리 관리방식이다. GC라고 불리며 메모리 관리를 직접 해야하는 C++과 다르게 가비지 컬렉터가 자동으로 메모리를 관리해준다. 2024. 11. 9. [JavaScript] 얕은복사 vs 깊은복사 feat. 참조복사 참조복사객체의 참조 복사는 같은 메모리 주소를 복사한다. 즉, 원본 데이터를 참조복사한 다른 객체의 값이 바뀌게 된다면 원본에 문제가 생길 가능성이 매우 높다. let message = '문자 값은 프리미티브 데이터 타입으로 값이 복사됩니다.';let messenger = { name: 'kakao talk', manufacture: 'kakao',};let text = message;let conversationTool = messenger;// 비교 (복사 vs. 참조)console.log(message == text);console.log(message === text);console.log(messenger == conversationTool);console.log(messenger === c.. 2024. 11. 8. [JavaScript] 구조분해 할당 구조 분해 할당구조분해 할당이란 배열 혹은 객체의 속성을 개별 변수에 담을 수 있도록 하는 표현식이다. 가끔 배열의 일부분만 필요한 경우가 있는데 이럴 때 여러 방법이 있지만 구조 분해 할당을 사용하면 매우 쉽게 값을 가져올 수 있다. 배열 분해변수를 좌항, 분해하고자 하는 배열을 우항에 놓고 분해한다. 이 때, 배열의 순서를 맞추어야 한다. const fruits = ['apple', 'banana', 'cherry'];// 배열 요소를 변수에 할당const [first, second, third] = fruits;console.log(first); // "apple"console.log(second); // "banana"console.log(third); // "cherry"기본값 지정cons.. 2024. 11. 7. [JavaScript] for in과 for of for ...in 문for ...in 문은 열거가능한 모든 속성을 반복한다. 이 때 상속된 속성도 같이 접근하게 된다. 여기서 두 가지의 특징이 나타난다.첫 번째로는 상속된 속성에 접근 가능하다는 점과 두 번째로는 열거 가능한 속성을 반복한다는 점이다. 주로 객체의 속성에 접근할 때 사용한다. 상속된 속성에 접근 가능const javaScript = { creator: 'Brendan Eich', createAt: '1995.05', standardName: 'ECMAScript', currentVersion: 2024,};Object.prototype.nickName = 'tiger'; // 최상위 객체인 Object에 nickName이라는 프로퍼티 할당 위 코드에서 javaScript 객체의.. 2024. 11. 5. [TypeScript] 추상클래스란 무엇인가 (임시) 추상클래스는 클래스들의 클래스이다. 객체지향의 개념을 알고 있으면 추상화라는 개념을 이해할 수 있지만 그렇지 않다면 너무 어렵게 느껴진다. 이번 단원에서는 추상화의 개념과 추상 클래스에 대해 포스팅 하려한다. 추상의 사전적 의미는 다음과 같다.사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것 뽑을 추(抽): "뽑다", "끌어내다"를 의미한다. 형상 상(象): "형상"이나 "모양"을 뜻한다. 즉, 어떤 대상의 특징만을 뽑아내어 간추리는 것이다. 그렇다면 특징을 어떻게 뽑아낼 수 있을까? 예를 들어 자동차, 비행기, 기차가 있다면 이 것들의 공통된 특징은 바로 '이동수단' 이라는 점이다. 이렇게 추상화를 하면 객체 하나하나의 디테일 보다는 공통된 특징만이 남게 된다. .. 2024. 10. 30. [TypeScript] 다형성과 제네릭 서론제네릭의 개념이 헷갈려서 며칠 공부를 해보고 포스팅을 한다. 제네릭이란 선언부에서 타입을 명시하지 않고 호출이 되었을 때 타입을 명시하는 어떠한 타입도 될 수 있는 기법이다. 나는 제네릭이 어떠한 타입도 될 수 있다면 unknown, any와 뭐가 다를까 하는 생각이 들었는데 오늘 드디어 뭔가 깨달은 것 같다 ㅋㅋ. 앞서 말한것 처럼 제네릭은 사용 시점의 인풋에 의해서 타입이 결정된다. 따라서 함수 혹은 인터페이스와 같은 곳에서 많이 사용된다. 반면에 unknown과 any는 사용 용도 자체가 다르다. 애초에 이 두가지를 비교할 수 없을 뿐더러 unknown은 어떠한 타입도 될 수 있지만 사용하기 위해서는 타입을 명시해야 한다는 부분도 다르다. any도 마찬가지로 비슷한 이유로 다르지만 이걸 쓰면.. 2024. 10. 27. 이전 1 2 3 4 5 ··· 8 다음