데이터 타입
기본 타입(원시 타입)
Number(숫자), String(문자열), boolean(논리값), undefined, null, symbol
원시 타입 데이터는 데이터를 구성하는 가장 기본적인 요소로 불변 값 정의되어있다숫자(Number)
💡 자바스크립트는 타입이 없으므로 숫자를 모두 64비트 부동소수점으로 표현한다. 특수한 값 Infinity - 무한대 , 전역변수 NaN - 부정값 not a number 전역변수 Number.POSITIVE_INFINITY 플러스 무한대 Number.NEGATIVE_INFINITY 마이너스 무한대
💡 자바스크립트에의 숫자는 부동소숫점으로 처리함에 따라, 정확한 값이 출력되지 않음.
문자열(String)
자바스크립의 문자열 길이가 16비트인 뮤니코드 문자(uft-16 코드)를 나열한 것으로 전 세계에서 사용하는 문자를 대부분 표현할 수 있다. ' '," "를 사용하여 표현. ""는 아무것도 포함하지 않는 문자열이라고 하여 빈 문자열이라고 한다.
💡 문자열은 문자열의 인덱스를 통해 접근할 수 있다.
💡 한번 정의된 문자열은 변경될 수 없다.💡 재할당은 가능하지만, index값을 통한 접근변경은 불가능함.
Boolean
조건식이 참인지 거짓인지 표현하기 위해 사용하는 값입니다.
undefined
값을 아직 할당하지 않은 변수의 값 없는 객체의 프로러티를 읽으려고 시도 했을 때의 값 없는 배열의 요소를 읽으려고 시도했을 때의 값 아무것도 반환하지 않는 함수가 반환하는 값 함수를 호출해을 때 전달받지 못한 인수의 값 코드로 undefined 대입한 것이 아니라 자바스크립트 엔진이 변수를 undefined로 초기화 한것이다.!!!
💡 변수명만 선언할 경우에, undefined💡 undefined과 null은 둘다 빈값이지만, null은 사용자가 명시적으로 선언한 빈값이므로, 값이 들어있다고 볼수 있다.(null)💡 undefined는 타입이자 값을 나타냄. typeof(undefined)
null
아무것도 없음을 값으로 표현한 리터럴 주로 프로그램에서 무언가 검색했지만 찾지 못했을 때 아무것도 없음을 전달하기 위한 값으로 사용된다.
💡 null의 경우 typeof의 결과가 null이 아닌 object이다.
참조타입
💡 자바스크립트에서 숫자, 문자열, 불린값, null, undefined같은 기본타입을 제외한 모든 값은 객체다.
객체는 단순히
'이름(key) : 값(value)'
형태의 프로퍼티들을 저장하는 컨테이너로서, 컴퓨터 과학 분야에서 해시(Hash)라는 자료구조와 상당히 유사하다.기본 타입은 하나값만을 가지는데 비해,
참조타입은 객체 는 여러 개의 프로퍼티들을 포함할 수 있다.
객체의 프로퍼티는 기본 타입의 값을 포함하거나 다른 객체를 가리킬 수 있다.
💡 참조하고 있는 원본의 값이 변경될 때, 참조타입의 값도 변경됨.
프로퍼티의 성질에 따라 프로퍼티는 함수로 포함할 수 있다 이러한 프로퍼티를 메서드라 부른다.
객체(Object)
객체 안에 저장된 값은 바꿀 수 있습니다.. 객체 타입의 값을 변수에 대입하면 변수에는 그 객체에 대한 참조(메모리에서의 위치정보)가 할당된다.
객체 생성 방법
객체 프로퍼티 읽기/쓰기/갱신
배열(Array)
💡 배열의 선언 방법은 "[]"💡 배열 안의 값을 가져오려면 인덱스(Index)를 이용함. Index는 0부터 시작함.💡 배열이 생성될때 length 메소드가 함께 생성됨. length는 1부터 시작함.
💡 배열 선언시 length를 먼저 선언할 수 있음 그럴경우, 배열의 길이에 따라서 먼저 생성이 됨. 빈값은 empty값이 출력됨.
생성자 함수를 이용해서 배열을 만들 경우, new Array(3)과 같이 미리 length를 지정할 수 있다.
💡 배열도 객체이므로, 동적으로 프로퍼티를 생성할 수 있다.
💡 arr의 length 프로퍼티는 배열의 가장 큰 인덱스가 변했을 경우에만 변경됨.💡 배열이 아니지만, length값이 있는 경우 유사배열 객체라고 한다.
Last updated