
상수는 재할당이 금지된 변수 상수와 변경 불가능한 값을 동일시하면 안 됨 원시 값: 변경 불가능한 읽기 전용 값. 불변성을 가짐 변수에 값을 재할당하는 과정 : 새로운 메모리 공간을 확보하여 재할당할 값을 저장한 후 변수가 참조하던 메모리 공간의 주소를 변경 11.1.2 문자열 : 원시 타입, 유사 배열 객체(iterable) 원시 값을 객체처럼 사용하면 원시 값을 감싸는 래퍼 객체로 자동 변환(21.3절 원시 값과 래퍼 객체에서 계속) 원시 타입이기 때문에 인덱스로 접근하여 값을 변경해도 바뀌지 않음 숫자는 크기에 상관없이 8바이트 필요 문자열은 1개의 문자당 2바이트 필요 11.2 객체 프로퍼티의 개수가 정해져 있지 않아 동적으로 추가되고 삭제할 수 있음 -> 메모리 공간의 크기를 사전에 정해둘 수 ..
자바스크립트는 객체 기반의 프로그래밍 언어 원시 값(원시 타입의 값) : 변경 불가능 10.1 객체(객체 타입의 값) - 변경 가능 - 0개 이상의 프로퍼티/메서드로 구성된 집합 - 프로퍼티는 키와 값으로 구성 - 함수도 값으로 취급 가능(일반 함수와 구별하기 위해 함수가 값인 경우 메서드라 부름) - 상태(프로퍼티)와 동작(메서드)을 하나의 단위로 구조화할 수 있어 유용함 프로퍼티: 객체의 상태를 나타내는 값(data) 메서드: 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작(behavior) 10.2 객체 리터럴에 의한 객체 생성 C++이나 자바 같은 클래스 기반 객체지향 언어는 클래스를 사전에 정의하고 필요한 시점에 new 연산자와 함께 생성자를 호출하여 인스턴스를 생성하는 방식으로 객체를 ..
명시적 타입 변환, 타입 캐스팅 : 개발자가 의도적으로 값의 타입을 변환하는 것 암묵적 타입 변환, 타입 강제 변환 : 개발자의 의도와 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환된 것 원시 값은 변경 불가능한 값 타입 변환 : 기존 원시 값을 이용해 새로운 원시 값을 생성하는 것 암묵적 타입 변환이 발생하지 않는 코드를 작성하는 것이 항상 좋은 것은 아님 - 암묵적 타입 변환으로 인해 가독성이 좋아질 수도 있음 - 예측 가능한 코드 - 동료가 쉽게 이해할 수 있어야 함 9.2 암묵적 타입 변환 9.2.1 문자열 타입으로 변환 + : 피연산자 중 하나 이상이 문자열이면 문자열 연결 연산자로 동작(문자열로 만든다) 9.2.2 숫자 타입으로 변환 1 - '1' //..