본문 바로가기

개인 학습21

모던 자바스크립트 Deep Dive 11장 원시 값과 객체의 비교원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다.객체 값을 변수에 할당하면 실제 데이터는 힙에 저장되고 힙 메모리 주소를 저장한다. 1. 원시 값변경 불가능한 값원시값은 변경 불가능한 값이다.원시값을 할당한 변수에 새로운 원시 값을 재할당하면 메모리 공간에 저장되어 있는 재할당 이전의 원시 값을 변경하는 것이 아니라 새로운 메모리 공간을 확보하고 재할당한 원시 값을 저장한 후, 변수는 새롭게 재할당한 원시 값을 가리킨다. 문자열도 원시 값이다.var str = 'string'str[0] = 'A'console.log(str) //string문자열도 원시 값이기 때문에 불변성을 가진다. 그래서 변경되지 않는다.  var score = 80var copy =.. 2025. 2. 20.
모던 자바스크립트 Deep Dive 10장 객체 리터럴1. 객체란?원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체이다.원시 타입은 불변하지만, 객체는 변경 가능하다.객체는 프로퍼티와 메서드로 구성된 집합체이다.  2. 객체 리터럴에 의한 객체 생성다른 언어에서 객체를 생성하기 위해선 new를 사용하지만자바스크립트에서는 new 뿐만 아니라 리터럴 방법으로 객체를 생성할 수 있다.  3. 프로퍼티객체는 프로퍼티의 집합이며, 프로퍼티는 키와 값으로 구성된다.프로퍼티 키는 식별자 네이밍 규칙을 준수하는 이름은 따옴표를 생략할 수 있다.반면 네이밍 규칙을 준수하지 않는 이름에는 반드시 따옴표를 사용해야 한다.var person = { firstName: 'hong', 'last-name': 'Lee'}  프로퍼티 키를 동작으.. 2025. 2. 20.
모던 자바스크립트 Deep Dive 9장 타입 변환과 단축 평가 1. 타입 변환이란?타입 변환에는 개발자가 의도적으로 값의 타입을 반환하는 명시적 타입 변환과 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 암묵적 타입 변환이 있다. var x = 10;// 숫자를 문자열로 타입 캐스팅한다.var str = x.toString();var str = x + "";// 문자열 연결 연산자는 숫자 타입의 x의 값을 새로운 문자열로 암묵적으로 생성한다. 하지만 암묵적 타입 변환은 기존 변수 값을 재할당하여 변경하는 것이 아닌, 새로운 타입 값을 만들어 단 한 번 사용하고 번린다.   2. 암묵적 타입 변환자바스크립트는 가급적 에러를 발생시키지 않도록 암묵적 타입 변환을 통해 표현식을 평가한다. 문자열 타입으로 변환1 + '2' // "12"+.. 2025. 2. 20.
모던 자바스크립트 Deep Dive 7장 연산자1. NaN이란? Not a number를 의미한다. 숫자 계산할 경우 피연산자로 문자나 숫자가 아닌 값이 포함되어 있을 경우 숫자가 아니라는 의미인 NaN를 반환한다.     2.  +단항 연산자+단항 연산자는 숫자 타입에는 어떠한 효과가 없다.하지만 숫자가 아닌 타입에 사용할 경우 숫자 타입으로 변환한다.var x = '1';console.log(+x) // 1x = true;console.log(+x) // 1x = false;console.log(+x) // 0x = "Hello"console.log(+x) //NaN   3.  -단항 연산자-는 숫자타입은 부호를 반전한다.그리고 마찬가지로 숫자가 아닌 타입에 사용할 경우 숫자 타입으로 변환한다. 이때 부호를 반전한다.-(-10) // 10-.. 2025. 2. 9.
모던 자바스크립트 Deep Dive 6장 데이터 타입1. 자바스크립트 데이터 타입 자바스크립트에서 원시 타입, 객체 타입으로 분류할 수 있다.원시 타입은 불변하는 값으로 숫자, 문자열, 불리언, undefined, null, symbol이 있다.   2. 숫자타입 숫자타입은 정수, 실수, 음수, n진수, Infinity, NaN이 있다.   3. 문자열 타입 문자열은 ' ',  " ", 빽틱으로 감싼 텍스트를 의미한다.    4. 템플릿 리터럴빽틱을 사용하여 문자열, 표현식 등을 삽입한 문자열을 의미한다.console.log(`1 + 2 = ${first}`) 이런 것들이 있다.  5. 불리언 타입true, false를 나타낸다.    6. undefined 타입var 키워드로 선언한 변수는 암묵적으로 undefined로 초기화한다. 즉 자바스.. 2025. 2. 9.
모던 자바스크립트 Deep Dive 5장 표현식과 문1. 값이란? 값은 표현식이 평가되어 생성된 결과를 말한다.  //110 + 20;//2var sum = 10 + 20; 여기서 sum에 할당되는 것은 10 + 20이 아닌 30이 할당된다. 즉 할당 이전 평가되어 값을 생성해야 한다.    2. 리터럴이란? 리터럴은 코드에서 값을 직접 표현하는 방식이다.쉽게 말해 정수, 실수, 문자열, 객체, 불리언 등 값을 의미한다.    3. 표현식이란? 값으로 평가될 수 있는 문들 모두 표현식이다. 1) 10 + 10 //20이라는 값이 나옴 (표현식)2) var score = 50 + 50 //여기서 50 + 50이 부분은 표현식, 100이라는 값이 나옴3) score // 100이라는 값이 나옴, 표현식   4. 표현식인 문과 표현식이 아닌 문 가장.. 2025. 2. 9.