9장 타입변환과 단축평가
·
프로그래밍/JavaScript
9.1 타입 변환이란?var x = 10;var str = x.toString();console.log(typeof str, str); // string 10console.log(typeof x, x); // number 10타입변환을 하면 값이 변경되지 않는다.이점은 다시 생각해볼만하다var x = 10;var srt = x + '';console.log(typof str, str); // string 10console.log(typeof x, x); // number 10위의 경우는 자바스크립틍 엔진에의해서 의도적으로 바뀐 암묵적 타입변환이다.이렇게 암묵적타입은 새로운값의 타입을 만들고 단한번 사용하고 버리게된다.드러나지않게 타입이 자동변환되어 예측가능하기 어렵다.예측가능한 코드로 만들기위해 코드를 ..
8. 제어문
·
Book/모던 자바스크립트 Deep Dive
제어문은 조건에 실행하거나 반복실행할때 사용한다.8.1 블록문블록문은 0개이상의 문을 중괄호로 묶은것으로 코드블록이라 부른다.// 블록문 { var foo = 10;}// 제어문var x = 1;if ( x  8.2 조건문8.2-1 if…else 문var num 2;var kind;// if문if ( num > 0 ) { kind = '양수';} else if { kind = '음수';} else { kind = '영';}console.log(영); // 양수8.2-2 switch 문다양한 case에 실행할 코드블록을 결정할 때 사용한다.var month = 11;var monthName;switch( month ) { case 1: monthName = 'january'; break; case 2: ..
7. 연산자
·
Book/모던 자바스크립트 Deep Dive
연산자는 피연산자를 연산해 새로운 값을 만든다.7.1 산순연산자수학계산을 이용해 값을 만든다. 연산이불가능한 경우 NaN을 반호나한다.7.1.1 이항 산술 연산자이항산술연산자는 2개의 피연산자를 연산하여 값을 만든다5 + 2; // 75 - 2; // 35 * 2; // 105 / 2; // 2.57.1.2 단항 산술 연산자1개의 피연산자를 연산하여 값을 만든다.var x = 1;x++;console.log(x); // 2x--;console.log(x); // 1var x = 5; result;result = x++; // 할당 후에 증가console.log(result, x); // 5, 6result = ++x; // 증가 후에 할당console.log(result, x); // 7, 7+10; ..
6. 데이터타입
·
Book/모던 자바스크립트 Deep Dive
데이터타입데이터타입은 값을 종류를 말한다.자바스크립트(ES6)는 7개의 데이터타입을 제공한다.원시타입문자열타입 불리언타입 undefined 타입 null 타입 심벌 타입객체 타입객체, 함수, 배열 등 1 과 ‘1’은 값을 생성한 목적과 용도도 다르다.메모리공간, 크기도다르고 메모리에 저장되는 2진수도 다르고, 해석하는방식도 다르다.데이터 타입의 특징을 알아보자.6-1 숫자타입java의 경우 숫자를 표현하려면 int long float double 등 다양한 숫자타입을제공하는 반면javascript는 하나의 숫자 타입만 존재한다.숫자타입은 모든수를 실수로 처리한다.console.log (1 === 1.0) // true6-2 문자열 타입자바스크립트 문자열은 원시 타입, 변경 불가능한 값이다.즉 문자열이 생..
5. 표현식과 문
·
Book/모던 자바스크립트 Deep Dive
개념을 이해한다는것은 바로 용어를 정확히 이해하고 설명할수있다는 것이다.용어에대한 정확한 이해는 정확한 커뮤티케이션을 가능케 한다.5.1 값표현식이 평가되어 생성된 결과를 말한다.var sum = 10 + 20;// 변수 10 + 20 이 평가되어 생성된 숫자 값 30이 할당된다. 5.2 리터럴리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다.3 // 숫자도 리터럴이다. -> 3을 기술하면 자바스크립트엔진은 이를 평가해 숫자 3을 생성한다.'Hello' "World" // 문자리터럴true false // 불리언리터럴null // null리터럴undefined // undefined 리터럴{ name: 'Lee' , address: 'seoul' } // 객체..
4. 변수
·
Book/모던 자바스크립트 Deep Dive
4.1 변수란 무엇인가? 왜 필요한가?컴퓨터는 연산과 기억을 수행하는 부품이 나눠져있다.CPU를 사용해 연산하고 메모리를 사용해 데이터를 기억한다.또한 메모리에 저장되는 모든값은 2진수로 저장된다. (1바이트단위,8비트로 데이터를 read write함)메모리주소를 통해 직접 값에 접근하는 방법은 올바르지않기때문에메모리에 저장된 값을 변수로 가져올수있다.이게 바로 변수이다. 즉 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체이다.변수를 선언변수를 할당 (대입, 저장)변수를 참조자바스크립트 엔진은 변수명 메핑된 메모리주소를 통해 접근해 저장된값을 반환한다. 4.3 변수 선언var score; // 변수 선언, var 키워드 자바스크립트 엔진은 키워드를 만나면 자신이 수행해야 할 약속된 동작을 수행..