본문 바로가기

Books123

[모던 JS Deep Dive] 11장 - 원시 값과 객체의 비교 11.0 원시 값과 객체의 비교 - 원시 값은 immutable value, 객체는 mutable value - 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장됨 객체를 변수에 할당하면 변수에는 참조 값이 저장됨 - 원시 값을 갖는 변수를 다른 변수에 할당 시 원본의 원시 값이 복사되어 전달됨 => 값에 의한 전달 (pass by value) 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달됨 => 참조에 의한 전달 (passs by reference) 11.1 원시 값 - 변경 불가능한 값 - immutable value - 한번 생성된 원시 값은 read only value로서 변경 불가 - 변수가 아닌 값에 대한 진술 (변수는 언제든지 값 교체 가.. 2021. 12. 10.
[모던 JS Deep Dive] 10장 - 객체 리터럴 10.1 객체란? - 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체임 - 원시 값은 immutable value, 객체는 mutable value - 객체는 0개 이상의 프로퍼티로 구성된 집합, 프로퍼티는 키와 값으로 구분됨 - JS에서 함수는 일급 객체이므로 값으로 취급 가능 - 프로퍼티 값이 함수인 경우 메서드라 부름 - 프로퍼티: 객체의 상태를 나타내는 값 (data) - 메서드: 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작 (behavior) 10.2 객체 리터럴에 의한 객체 생성 - 인스턴스 (클래스에 의해 생성되어 메모리에 저장된 실체) - JS는 프로토타입 기반 객체지향 언어 => 다양한 객체 생성 방법 지원 - 객체 리터럴 - 중괄호가 코드 블록을 의미.. 2021. 12. 10.
[모던 JS Deep Dive] 9장 - 타입 변환과 단축 평가 9.1 타입 변환이란? - 명시적 타입 변환 / 타입 캐스팅 (개발자가 의도적으로 값의 타입 변환) - 암묵적 타입 변환 / 타입 강제 변환 (JS 엔진에 의해 암묵적으로 타입 자동 변환) - 기존 원시값 변경 X (원시값은 immutable value) - 코드는 예측 가능해야 한다! 9.2 암묵적 타입 변환 - 문자열 타입으로 변환 - + 문자열 연결 연산자로 동작 가능 (피연산자중 하나 이상이 문자열) - 템플릿 리터럴의 표현식 삽입 - Symbol은 문자열로 변환 불가 (TypeError) - 숫자 타입으로 변환 - 산술 연산자 - 비교 연산자 - + 단항 연산자 - 빈 문자열, 빈 배열, null, false는 0으로, true는 1로 변환됨 - 객체와 빈 배열이 아닌 배열, undefined는.. 2021. 12. 10.
[모던 JS Deep Dive] 8장 - 제어문 8.1 블록문 - block/compound statement - 하나의 실행 단위로 취급 - 항상 문의 종료를 의미하는 자체 종결성을 가지므로 블록문의 끝에는 세미콜론 붙이지 않음 8.2 조건문 - conditional statement - conditional expression (조건식)은 불리언 값으로 평가될 수 있는 표현식 - if ... else 문 - 조건식은 불리언 값으로 평가됨 - 만약 불리언 값이 아니면 JS 엔진에 의해 암묵적으로 불리언 값으로 강제 변환됨 - if ... else if ... else 문 - else if 문과 else 문은 옵션 - 코드 블록 내의 문이 하나라면 중괄호 생략 가능 - 삼항 조건 연산자로 바꿔 쓸 수 있음 - switch 문 - 주어진 표현식을 평가하.. 2021. 12. 9.
반응형