# deepdive
DeepDive 2회독 - 4장 변수
메모리 주소가 저장된 이름을 식별자라고 부르고, 자바스크립트 엔진은 실행컨텍스트를 통해 식별자와 스코프를 관리한다.선언하지 않은 식별자에 접근하면 레퍼런스(ReferenceError) 에러!하지만 var로 선언한 변수들은 undefined로 초기화 하기떄문에 레퍼런스
[ DEEPDIVE]
[Deep Dive-4장 변수] 네이밍 컨벤션(Naming Convention)
camelCase : 변수명, 함수명PascalCase : 생성자 함수명, 클래스명\-> 일반적으로는 camelCase, PascalCase를 많이 쓴다.
[Deep Dive-4장 변수] var, let, const
모든 선언문은 런타임 이전 단계에서 먼저 실행된다.변수 선언은 소스코드가 순차적으로 실행되는 시점인 런타임 이전에 먼저 실행되지만, 값의 할당은 소스코드가 순차적으로 실행되는 시점인 런타임에 실행된다. 자바스크립트는 소스코드를 실행하기 전에 평가과정에서 모든 선언문을
[자바스크립트 Deep Dive] 17장. 생성자 함수에 의한 객체 생성
단 하나의 객체만 생성해야 함동일 프로퍼티를 갖는 여러 개의 객체를 생성해야 하는 경우 매번 같은 프로퍼티를 기술해야 하므로 비효율적JS엔진은 암묵적 처리를 통해 인스턴스 생성하고 반환암묵적으로 빈 객체 생성빈 객체 = 인스턴스는 this에 바인딩생성자 함수에 기술되어

[자바스크립트 Deep Dive] 16장. 프로퍼티 어트리뷰트
프로퍼티의 상태를 나타내는 것프로퍼티를 생성할 때 JS 엔진이 자동으로 선언Object.getOwnPropertyDscriptor 메서드 사용하여 간접 확인Object.getOwnPropertyDscriptor를 통해 반환되는 객체value : 프로퍼티 키를 통해 접근
[자바스크립트 Deep Dive] 15장. let, const 키워드와 블록 레벨 스코프
1\. 변수의 중복 선언 가능 : 동일한 이름의 변수가 선언 되어도 덮어쓸 수 있음2\. 함수 레벨 스코프 : 코드 블록 내에서 선언해도 무조건 전역 변수3\. 변수 호이스팅 var 키워드의 단점 보완을 위한 새로운 ES6 변수 선언 키워드변수 중복 선언 금지블록 레벨
[자바스크립트 Deep Dive] 14장. 전역 변수의 문제점
지역 변수 : 변수가 선언 된 스코프가 실행되었을 때 JS엔진에 의해 호출전여 변수 : 명시적 호출 없이 코드가 로드되자마자 호출코드의 결합(implicit coupling) : 코드의 어디서든 전역 변수를 참조하고 변경 가능긴 생명 주기 : 메모리 리소스를 오랜 기간

[자바스크립트 Deep Dive] 13장. 스코프
식별자가 유효한 범위전역 스코프 : 어디서든 참조 가능지역 스코프 : 함수 몸체 내부 \- 자신의 지역 스코프와 하위 지역 스코프에서만 유효 함수의 중첩에 의해 계층적 구조를 가질 수 있음JS 엔진은 스코프 체인을 통해 상위 스코프 방향으로 이동하며 선언된 변수를
[자바스크립트 Deep Dive] 12장. 함수
입력을 받아 출력을 내보내는 일련의 과정높은 재사용성유지보수의 편의성실수 ⬇️ 신뢰성 ⬆️가독성 ⬆️함수의 이름 생략 불가표현식이 아닌 문

함수의 프로퍼티(데이터, 접근자)와 [[Prototype]]
함수도 객체(일급객체)이다. 따라서 함수도 프로퍼티를 가진다.함수 객체의 데이터 프로퍼티로는 arguments, caller, length, name, prototype이 있다. 이 프로퍼티는 일반 객체에는 없는 함수 객체 고유의 프로퍼티이다. 함수 객체의 접근자 프로

non-constructor 함수
non-constructor 함수는 생성자 함수가 아닌 일반적인 함수들을 말합니다. 이러한 함수들은 객체를 인스턴스화하거나 새로운 객체를 생성하는 목적이 아닌 다른 기능을 수행합니다. 화살표 함수는 => 기호를 사용하여 정의됩니다. 주요 특징은 다음과 같습니다:함수 내
[자바스크립트 Deep Dive] 11장. 원시 값과 객체의 비교
✔️ 변경 불가능한 값✔️ 변수에 실제 값이 저장✔️ 원시 값이 복사되어 전달✔️ 변경 가능한 값(mutual value)✔️ 변수에 참조 값이 저장✔️ 참조 값이 복사되어 전달 -> 참조에 의한 전달
[자바스크립트 Deep Dive] 10장. 객체 리터럴
자바스크립트는 프로토타입 기반 객체 지향 언어다양한 객체 생성 방법 지원객체 리터럴Object 생성자 함수생성자 함수Object.create 메서드클래스(ES6)사람이 이해할 수 있는 문자 or 기호를 사용하여 값을 생성하는 표기법객체 리터럴은 값으로 평가되는 표현식이

생성자 함수에 의한 객체 생성(객체 리터럴의 단점, Object 빌트인 생성자 함수)
객체를 생성하기 위한 방법은 다양합니다.객체 리터럴생성자 함수오늘은 생성자 함수로 객체를 생성하는 방식에 대해 알아보려고 합니다.객체 리터럴 생성 방식은 간편하지만 문제점이 존재한다! 바로 동일한 프로퍼티/매서드를 가지는 객체를 여러개 생성해야 할때 매번 중복되는 코드