본문 바로가기

딥 다이브62

[모던 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.
[모던 JS Deep Dive] 7장 - 연산자 7.0 연산자 - 연산의 대상: 피연산자 (operand) - 피연산자는 값으로 평가될 수 있는 표현식 7.1 산술 연산자 - arithmetic operator - 산술 연산 불가능한 경우, NaN 반환 - 이항 산술 연산자 - binary arithmetic operator - 2개의 피연산자 산술 연산하여 숫자 값 생성 - 피연산자의 값 변경하는 부수 효과 없음 (산술 연산 시 피연산자 값 바뀌는 경우 없고 항상 새로운 값 만듦) - 단항 산술 연산자 - unary arithmetic operator - 1개의 피연산자 산술 연산하여 숫자 값 생성 - ++ (증가 연산자), -- (감소 연산자) 피연산자 값 변경하는 부수 효과 존재 (암묵적 할당 이루어짐) - 증/감 연산자는 위치에 의미가 있음 -.. 2021. 12. 9.
[모던 JS Deep Dive] 6장 - 데이터 타입 6.0 데이터 타입 - 값의 종류 - 모든 값은 데이터 타입을 가짐 - 원시 타입: 변경 불가능한 값 (Immutable) - 숫자 타입: 실수, 정수 구분 X - 문자열 타입 - 불리언 타입: true, false - undefined 타입 - null 타입: 값 없다는 것을 의도적으로 명시 - Symbol 타입 - 객체 타입: 객체, 함수, 배열 등 6.1 숫자 타입 - 하나의 숫자 타입만 존재 - 배정밀도 64비트 (8 바이트) 부동 소수점 형식 따름, 모든 수를 실수로 처리 - 정수로 표시된다고 해도 사실은 실수임 - 세 가지 특별한 값 - Infinity: 양의 무한대 - -Infinity: 음의 무한대 - NaN: 산술 연산 불가 (Not a Number) - 대소문자 구별 (Case-sens.. 2021. 12. 8.
반응형