펭귄집

자바스크립트 참조타입(객체타입)



자바스크립트에서 숫자, 문자열, 불린값, null, undefined 같은 기본 타입으 제외한 모든 값은 객체다.
-> 따라서 배열, 함수, 정규표현식 등도 모두 결국 자바스크립트 객체로 표현된다.

자바스크립트에서 객체는 단순히 '이름(key) : 값(value)' 형태의 프로퍼티들을 저장하는 컨테이너로서, 해시라는 자료구조와 유사하다.

자바스크립트에서 기본타입은 하나의 값만을 가지는데 비해, 참조타입인 객체는 여러개의 프로퍼티들을 포함할 수 있으며, 이러한 객체의 프로퍼티는 기본타입의 값을 포함하거나, 다른객체를 가리킬 수 있다.

-> 이러한 프로퍼티의 성질에 따라 객체의 프로퍼티는 함수로 포함할 수 있으며, 자바스크립트에서는 이러한 프로퍼티를 메서드라 부른다.



<참고문헌 : 인사이드자바스크립트>


'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글

객체비교  (0) 2017.10.25
함수 호이스팅  (1) 2017.08.31
null 과 undefined  (0) 2017.08.30
문자열  (0) 2017.08.30
참조타입의 특성  (0) 2017.08.25

null과 undefined



이 두타입은 모두 자바스크립트에서 '값이 비어있음'을 나타낸다.

자바스크립트 화경 내에서 기본적으로 값이 할당되지 않는 변수는 undefined타입이며, undefined타입의 변수는 변수 자체의 값 또한 undefined이다.
=> 이처럼 자바스크립트에서 undefined는 타입이자, 값을 나타낸다는을 주의해야 한다

emptyVar변수에는 아무런 값이 할당되지 않으므로 undefined타입이 출력된 것이고,

이에반해 nullVar 변수와 같이 null 타입 변수의 경우는 개발자가 명시적으로 값이 비어있음을 나타내는데 사용한다.


여기서 주의할 점은 null 타입 변수인 nullVar의 typeof결과가 null이 아니라 object라는 것이다.
-> 자바스크립트에서는 null타입 변수인지를 확인할 때 typeof 연산자를 사용하는게 아니라 일치연산자(===)를 사용해서 변수의 값을 직접 확인해야 한다.


//null타입 변수 생성

var nullVar = null;

console.log(typeof nullVar == null);  //(출력값) false
console.log(nullVar === null); //(출력값) true




<참고문헌 : 인사이드자바스크립트>

'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글

함수 호이스팅  (1) 2017.08.31
자바스크립트 참조타입(객체타입)  (0) 2017.08.30
문자열  (0) 2017.08.30
참조타입의 특성  (0) 2017.08.25
for in 문과 객체 프로퍼티 출력  (0) 2017.08.10

문자열



문자열은 작은따옴표나 큰따옴표로 생성

자바스크립트에서는 문자 하나만을 별도로 나타내는 데이터 타입은 존재 X


var str = 'test';

console.log(str[0], str[1], str[2], str[3]);  //(출력값) test

안돼는코드
str[0] = 'T';
console.log(str);  //(출력값) test


문자열은 문자배열처럼 인덱스를 이용해서 접근할 수 있다.
여기서 주목할 점은 str[0] = 'T'로 변경했을 때 에러가 발생하지 않았으나 원래 문자열은 'test'가 출력된다.

=> 즉, 자바스크립트에서는 한 번 생성된 문자열은 읽기만 가능하지 수정은 불가능하다.



<참고문헌 : 인사이드자바스크립트>


'전공서적 > 인사이드자바스크립트' 카테고리의 다른 글

자바스크립트 참조타입(객체타입)  (0) 2017.08.30
null 과 undefined  (0) 2017.08.30
참조타입의 특성  (0) 2017.08.25
for in 문과 객체 프로퍼티 출력  (0) 2017.08.10
Javascript 문자열  (0) 2017.08.06