본문 바로가기

모던 자바스크립트3

[모던 자바스크립트 Deep Dive][11] 원시 값과 객체의 비교 원시 값변경 불가능한 값원시 값 : 변경 불가능한 값 (read only)따라서 원시 값을 할당한 변수에 새로운 원시 값을 재할당하면 새로운 메모리 공간을 확보하여 재할당한 원시 값을 저장한 후, 변수는 새롭게 재할당한 원시 값을 가리킨다.변수가 참조하던 메모리 공간의 주소가 바뀐다.이것을 불변성 이라고 한다.  문자열과 불변성 원시 값을 저장하려면 먼저 확보해야 하는 메모리 공간의 크기를 결정해야 한다. 이 때 자바스크립트의 문자열은 다른 원시 값과 비교할 때 독특한 특징이 있다.숫자 값은 1도, 1000000도 동일한 8바이트가 필요하지만문자열(String 객체)의 경우 몇 개의 문자로 이루어졌느냐에 따라 필요한 메모리 공간의 크기가 결정된다.var str = 'string';// 문자열은 유사 배열.. 2024. 5. 21.
[모던 자바스크립트 Deep Dive][09] 타입 변환과 단축 평가 타입 변환이란?명시적 타입 변환(= 타입 캐스팅) : 개발자가 의도적으로 값의 타입을 변환하는 것var x = 10;// 명시적 타입 변환// 숫자를 문자열로 타입 캐스팅한다.var str = x.toString();console.log(typeof str, str); // string 10// x 변수의 값이 변경된 것은 아니다.console.log(typeof x, x); // number 10 암묵적 타입 변환(= 타입 강제 변환) : 개발자의 의도와 상관없이 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것var x = 10;// 암묵적 타입 변환// 문자열 연결 연산자는 숫자 타입 x의 값을 바탕으로 새로운 문자열을 생성한다.var str = x + '';console.log(type.. 2024. 5. 7.
[모던 자바스크립트 Deep Dive][06] 데이터 타입 데이터 타입데이터 타입은 값의 종류를 말한다.ES6에서는 7개의 데이터 타입을 제공한다. 예를들어, 숫자 타입의 1과 문자열 타입의 '1'은 전혀 다른 값이다.  숫자 타입자바스크립트는 하나의 숫자 타입만 존재한다.모든 수를 실수로 처리하며, 정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않는다.// 모두 숫자 타입이다.var integer = 10; // 정수var double = 10.12; // 실수var negative = -20; // 음의 정수 자바스크립트는 2진수, 8진수, 16진수를 표현하기 위한 데이터 타입을 제공하지 않기 때문에 값을 참조하면 모두 10진수로 해석된다.var binary = 0b01000001; // 2진수var octal = 0o101; // .. 2024. 4. 29.