목록전체 글 (169)
seunghyun Note
원시 타입의 값 - 변경 불가능한 값 객체 타입의 값 - 객체는 변경 가능한 값 11.1 원시 값 11.1.1 변경 불가능한 값 원시타입의 값은 생성된 원시 값은 읽기 전용 값으로서 변경할 수 없다. 변수는 언제든지 재할당을 통해 변수 값을 변경할 수 있다. 변수 값을 변경하기 위해 원시 값을 재할당하면 새로운 메모리 공간을 확보하고 재할당한 값을 저장한 후, 변수가 참조하던 메모리 공간의 주소를 변경한다. 값의 이러한 특성을 불변성immutability라고 한다. 11.1.2 문자열과 불변성 문자열 타입: 2바이트 숫자 타입: 8바이트 이외의 원시 타입은 규정되어 있지 않아 브라우저 제조사의 구현에 따라 다를 수 있다. // 문자열은 0개 이상의 문자들로 이뤄진 집합이다. var str1 = ''; /..
10.1 객체란? 자바스크립트는 객체 Object기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 “모든 것”이 객체이다. 원시 값을 제외한 나머지 값(함수, 배열, 정규표현식등)은 모두 객체이다. 원시 타입은 단 하나의 값만 나타내지만, 객체 타입은(object type / reference type)은 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조data structure이다. -프로퍼티: 객체의 상태를 나타내는 값(data) -메서드: 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작(behavior) 10.2 객체 리터럴에 의한 객체 생성 객체를 생성하는 방법 객체 리터럴 object 생성자 함수 생성자 함수 Object.create 메서드 클..
9.1 타입 변환이란? 자바스크립트의 모든 값은 타입이 있다. 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있다. 개 명시적 타입 변환(타입 캐스팅) : 개발자가 의도적으로 값의 타입을 변환하는 것 var x = 10; //명시적 타입 변환 //숫자를 문자열로 바꾸기 var str = x.toString(); 암묵적 타입 변환(타입 강제 변환) var x = 10; //암묵적 타입 변환 var str = x+ ''; 자신이 작성한 코드에서 암묵적 타입 변환이 발생하는지, 발생한다면 어떤 타입의 어떤 값으로 변환되는지, ... 타입 변환 결과를 예측하지 못하거나 예측이 결과와 일치하지 않는다면 오류를 생상할 가능성이 높다. 9.2 암묵적 타입 변환 // 피연산자가 모두 문자열 타입이어야 하는..
제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 8.1 블록문 // 블록문 { var foo = 10; } // 제어문 var x = 1; if (x 0) { kind = '양수'; // 음수를 구별할 수 없다 } console.log(kind); // 양수 // if...else 문 if (num > 0) { kind = '양수'; } else { ki..
연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입 , 지수 연산 등을 수행해 하나의 값을 만든다. (연산의 대상을 피연산자) // 산술 연산자 5 * 4 // -> 20 // 문자열 연결 연산자 'My name is ' + 'Lee' // -> 'My name is Lee' // 할당 연산자 color = 'red' // -> ' red' // 비교 연산자 3 > 5 // -> false // 타입 연산자 typeof 'Hi' // -> string 7.1 산술 연산자 수학적 계산을 수행해 새로운 숫자 값을 만든다. NaN 반환한다. 7.1.1 이항 산술 연산자 이항 산술 연산자 의미 부수 효과 + 덧셈 X - 뺄셈 X * 곱셈 X / 나눗셈 X % 나머지 X 5 + 2; // -..
데이터 타입 숫자 타입의 값 : 1 !== 타입의 값 : '1' 구분 데이터 타입 설명 원시 타입 숫자 타입 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재 문자열 타입 문자열 불리언 타입 논리적 참(true)와 거짓(false) undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 심벌 타입 ES6에서 추가된 7번째 타입 객체 타입 객체, 함수, 배열 등 6.1 숫자 타입 C나 java의 경우 숫자도 int, long, float, double 등 과 같은 다양한 숫자 타입을 제공한다. 하지만 자바스크립트는 독특하게 하나의 숫자 타입만 존재한다. ECMAScript 사양에 따르면 숫자 타입의 값은 배정밀도 ..