명시적 타입 변환, 타입 캐스팅 : 개발자가 의도적으로 값의 타입을 변환하는 것 암묵적 타입 변환, 타입 강제 변환 : 개발자의 의도와 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환된 것 원시 값은 변경 불가능한 값 타입 변환 : 기존 원시 값을 이용해 새로운 원시 값을 생성하는 것 암묵적 타입 변환이 발생하지 않는 코드를 작성하는 것이 항상 좋은 것은 아님 - 암묵적 타입 변환으로 인해 가독성이 좋아질 수도 있음 - 예측 가능한 코드 - 동료가 쉽게 이해할 수 있어야 함 9.2 암묵적 타입 변환 9.2.1 문자열 타입으로 변환 + : 피연산자 중 하나 이상이 문자열이면 문자열 연결 연산자로 동작(문자열로 만든다) 9.2.2 숫자 타입으로 변환 1 - '1' //..
제어문 위에서 아래 방향으로 순차적으로 실행되는 코드의 흐름을 인위적으로 제어 → 코드의 흐름을 이해하기 어렵게 만들어 가독성을 해치기도 함 고차 함수를 사용한 함수형 프로그래밍 기법에서는 제어문 사용을 억제하여 복잡성을 해결하려 함 8.1 블록문 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다. 8.2 조건문 if else 문 if문의 조건식은 불리언 값으로 강제 변환됨(9.2 암묵적 타입 변환에서 계속) 코드 블록 내의 문이 하나뿐이라면 중괄호를 생략할 수 있음 삼항 연산자는 값으로 평가되는 표현식을 만들기 때문에 변수에 할당할 수 있고 if else 문은 표현식이 아닌 문이기 때문에 변수에 할당할 수 없다. switch 문 switch 문은 주어진 표현식을 ..
6장 데이터 타입 ES6 기준 7개 데이터 타입 원시 타입 - 숫자, 문자열, 불리언, undefined, null, 심벌 객체 타입 - 객체, 함수, 배열 등 ECMAScript2020(ES11)에서 새로운 원시값 BigInt가 추가됨 숫자 1과 문자열 '1'은 필요한 메모리 공간의 크기, 저장되는 2진수, 해석하는 방식이 다르다. 6.1 숫자 타입 자바스크립트는 모든 수를 실수로 처리(정수 X) console.log(1 === 1.0); // true 2진수, 8진수, 16진수를 표현하기 위한 데이터 타입을 제공하지 않기 때문에 이들 값을 참조하면 모두 10진수로 해석됨 아래 세 값도 숫자로 판단됨 Infinity 양의 무한대 -Infinity 음의 무한대 NaN 산술 연산 불가(not a numb..
4.2 식별자 식별자 result는 값 30이 저장되어 있는 메모리 주소 0x0669F913을 기억해야 한다 식별자는 값이 저장되어 있는 메모리 주소와 매핑 관계를 맺으며, 이 매핑 정보도 메모리에 저장되어야 한다. 변수 이름은 실행컨텍스트에 저장..(23장 실행 컨텍스트에서 계속) 메모리 두 공간 차지 변수 값, 변수- 변수에는 변수 이름 주소 - 변수 값 주소 - 변수 값 자바스크립트에서 함수는 값이다 4.4 변수 선언의 실행 시점과 변수 호이스팅 자바스크립트 엔진은 소스코드를 한 줄씩 순차적으로 실행(런타임)하기에 앞서 소스코드의 평가 과정을 거치는데 이 때 모든 선언문을 찾아 먼저 실행(선언)한다. = 호이스팅 평가 과정이 끝나면 선언문을 제외한 소스코드를 한 줄씩 순차적으로 실행한다. 4.6 값..
이전 프로젝트 리팩터링 중 프로젝트 실행, 리로딩, 빌드가 느려 vite로 변경했는데 그 과정 기록입니다. 실수 시 롤백을 위해 새 브랜치에서 작업합니다. git switch -c vite 작업 순서 vite, @vitejs/plugin-react 플러그인 설치 vite.config.js 파일 생성 js 파일을 jsx 파일로 변경 index.html 위치 루트 폴더로 옮기고 script 태그 추가하기 %PUBLC_URL%로 참조하는 파일들을 /로 바꿔주기 환경 변수 변경 package.json scripts 추가 (선택) react-scripts 삭제 1. vite, @vitejs/plugin-react 플러그인 설치 npm install -D vite @vitejs/plugin-react 2. vite..

