본문 바로가기

FE/JS6

[Modern Javascript Deep Dive] #9 타입 변환과 단축 평가 9. 1 타입 변환이란? 명시적 타입 변환(explicit coercion) 또는 타입 캐스팅(type casting): 개발자의 의도로 타입 변환 암묵적 타입 변환(implict coercion) 또는 타입 강제 변환(type coercion): JS 엔진에 의한 암묵적인 타입 변환 앞서 타입에는 원시 타입이 있다고 언급했다. 원시 타입은 변경 불가능한 값이기 때문에 타입 변환을 하면 값이 바뀌는 것이 아니라 새로운 값을 생성해낸다. 이 값은 단 한번 사용되고 버려진다(GC에 의해 처리됨). 명시적 타입 변환은 코드에 의도가 분명히 드러나지만 암묵적 타입 변환은 그렇지 않다. 따라서 값을 예측 가능하게 코드를 작성해야한다. 명시적, 암묵적 타입 변환 중 가독성이 더 좋고 이해하기 쉬운(예측가능한) 방법.. 2024. 2. 6.
[Modern Javascript Deep Dive] #8 제어문 제어문(control flow statement)은 조건에 따라 코드 블록을 실행, 또는 반복 실행할 때 사용한다. 코드 흐름을 인위적으로 제어할 수 있지만 가독성을 해친다는 단점이 있어 forEach, map 등의 함수를 사용하기도 한다(함수형 프로그래밍). 8. 1 블록문 블록문(block statement 또는 compound statement)은 여러 문을 중괄호로 묶은 것이다. 하나의 실행 단위로 취급된다. 단독으로도 사용될 수 있지만 일반적으로 제어문과 함수 정의에 사용된다. 중괄호로 묶은 블록문은 자체 종결성을 가져서 세미콜론을 붙이지 않는다. 8. 2 조건문 조건문(conditional statement)은 조건식의 평가 결과에 따라 블록문을 수행할지 결정한다. 조건식 평가 결과가 true.. 2024. 2. 5.
[Modern Javascript Deep Dive] #7 연산자 연산자(operator)는 하나 이상의 표현식에 연산을 수행해 값을 만든다. 연산의 대상을 피연산자(operand)라 하며, 피연산자는 값으로 평가될 수 있는 표현식이어야 한다(연산을 수행해 새로운 값을 만들어야 하므로). 연산자 표현식 또한 값으로 표현될 수 있는 표현식이다. 7.1 산술 연산자 산술 연산자(arithmetic operator)는 말 그대로 수학적 계산을 수행하여 숫자값을 만든다. 만약 불가능하다면 NaN을 return한다. 피연산자의 갯수에 따라 이항 산술 연산자, 단항 산술 연산자로 나뉜다. 7.1.1 이항(binary) 산술 연산자 두개의 피연산자를 산술 연산하여 숫자값을 만든다. 부수효과(피연산자의 값을 변경)는 없다. 언제나 새로운 값을 만들어낸다. + 덧셈, - 뺄셈, * 곱.. 2024. 2. 5.
[Modern Javascript Deep Dive] #6 데이터 타입 데이터 타입(Data type)은 값의 종류를 뜻한다. ES6 기준, 자바스크립트에는 7개의 데이터타입을 지원한다. 이 타입들은 원시타입(Primitive type)과 객체 타입(Object type)으로 나뉜다. 데이터 타입 설명 원시 타입 (Primitive type) 숫자 타입 하나의 숫자 타입만 존재 (정수, 실수 구분 X) 문자열 타입 문자열 불리언 타입 논리적 참, 거짓 undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 타입 값이 없음을 의미하는 값 심벌 타입 ES6에서 추가됨 객체 타입 (Object type) 객체, 함수, 배열 등 6.1 숫자 타입 C, JAVA 등 다른 언어는 정수, 실수 등을 구분하여 다양한 타입이 존재하지만 자바스크립트는 오직 하나.. 2024. 2. 5.