자바스크립트

    코어 자바스크립트 - 클로저

    복습의 목적으로 정재남님의 저서 '코어 자바스크립트'를 읽고 정리한 글입니다. 더 자세하고 정확한 내용은 책을 참고하시길 바랍니다. 이 챕터를 읽고 난 후 다음의 질문에 답할 수 있어야 한다. 클로저란 무엇인가 클로저는 언제 발생하는가 클로저를 어떻게 제거할 수 있는가 클로저를 어떻게 활용할 수 있나 정보은닉이란 무엇인가 접근 권한을 어떻게 분류할 수 있는가 자바스크립트에서 어떻게 접근 권한을 구분 지어줄 수 있는가 부분 적용 함수란 무엇인가 Symbol이란 무엇인가 커링이란 무엇인가? 클로저의 정의 MDN은 다음과 같이 클로저를 정의하고 있다. 클로저는 함수와 그 함수가 선언됐을 때의 렉시컬 환경(Lexical environment)과의 조합이다. 컨텍스트 A가 있고 A는 내부 함수 B를 갖는다고 가정..

    코어 자바스크립트 - 데이터 타입

    복습의 목적으로 정재남님의 저서 '코어 자바스크립트'를 읽고 정리한 글입니다. 더 자세하고 정확한 내용은 책을 참고하시길 바랍니다. 질문 이 챕터를 읽고 난 후, 다음 질문에 답할 수 있어야 한다. 자바스크립트의 자료형은 어떻게 분류할 수 있는가? 숫자 또는 문자열의 데이터를 위해 몇 바이트의 메모리가 확보되는가? 변수는 무엇이고 식별자란 무엇인가? (데이터 타입에 따라) 데이터는 어떻게 메모리에 할당되는가? 변수와 상수을 구분짓는 특징은 무엇인가? 불변성이란 무엇인가? 메모리에 남아있는 미사용 데이터는 어떻게 처리되는가? 기본형 데이터를 갖는 변수 복사, 참조형 데이터를 갖는 변수 복사에는 어떤 차이가 있는가? 얕은 복사와 깊은 복사의 차이는 무엇인가? 불변 객체를 어떻게 만들 수 있는가? undefi..

    스프레드 연산자의 장점_1

    스프레드 연산자가 개꿀인 부분을 정리하고자 함 자바스크립트 배열에는 push 메서드가 존재한다. 어떤 항목을 배열에 추가하고 싶을 때 사용한다. const a = ['a', 'b', 'c']; a.push('d'); //a = ['a', 'b', 'c', 'd']; 아주 쉽고 편리하지만 push()를 사용하는 순간 원본 배열이 바로 조작된다는 사실에 주의해야 한다. 예를 들어, const a = ['a', 'b', 'c']; function addItem(array) { if (array.length > 3) { return { error: '이미 가득 차버렸습니다.', }; } const newArray = array.push('e'); //a = ['a', 'b', 'c', 'e'] return ne..