코어자바스크립트 - 데이터 타입
1728 단어 JavaScriptJavaScript
데이터 타입
기본형
- 숫자, 문자열, boolean, null, undefined, ES6 이후 심볼 추가
- 할당이나 연산시 복제된다.
- 기본형은 값이 담긴 주솟값을 바로 복제
- 기본형은 모두 불변값
참조형
- 객체, 배열, 날짜, 정규표현식, ES6 이후 map, set
- 할당이나 연산시 참조된다.
- 참조형은 값이 담긴 주솟값들도 이루어진 묶음을 가리키는 주솟값을 복제
변수
- 변경 가능한 데이터가 담길 수 있는 공간
식별자
- 그 변수의 이름을 말한다
메모리 주솟값
- 0, 1만 표현할 수 있는 하나의 메모리 조각을 비트라고 함
- 각 비트는 고유한 식별자를 통해 위치를 확인할 수 있다.
- 효율적인 검색을 위해 비트를 묶어 바이트로 만듦
- 모든 데이터는 바이트 단위 식별자, 메모리 주솟값을 통해 서로 구분하고 연결할 수 있다.
- 식별자는 어떤 데이터를 식별하는 데 사용하는 이름, 즉 변수명이다.
선언과 할당
let a; // 변수 a를 선언 or 이 데이터의 식별자는 a로 한다
a = "abc" // 변수 a에 데이터 할당
let a = "abc" // 변수 선언과 할당을 한 문장으로 표현
- 변수를 선언하면 컴퓨터는 메모리의 빈 공간에 식별자를 저장하고, 그 공간의 값은 undefined를 할당한다.
- 그 변수에 기본형 데이터를 할당하려고 하면 별도의 공간에 데이터를 저장, 그 공간의 주소를 변수의 값 영역에 할당.
- 참조형 데이터를 할당하고자 할 경우 참조형 데이터 내부 프로퍼티들을 위한 변수 영역을 별도로 확보해서 확보된 주소를 변수에 연결, 다시 확보한 변수 영역에 각 프로퍼티의 식별자를 저장하고, 각 데이터를 별도의 공간에 저장해 그 주소를 식별자들과 매칭
불변 객체
- 참조형 데이터의 '가변'은 데이터 자체가 아니라 내부 프로퍼티를 변경할 때만 성립된다.
얕은 복사와 깊은 복사
- 얕은 복사는 바로 아래 단계만 복사, 깊은 복사는 내부의 모든 값들을 하나하나 다 복사
- 중첩된 객체에서 참조형 데이터가 저장된 프로퍼티를 복사할 때 그 주솟값만 복사한다는 의미
- 그러므로 해당 프로퍼티에 대해 원본과 사본이 모두 동일한 참조형 데이터의 주소를 가리키게 된다.
- 깊은 복사는 참조형 데이터의 경우 다시 그 내부의 프로퍼티들을 복사해야 한다.
undefined와 null
- 사용자가가 어떤 값을 지정할 것이라고 예상되는 상황임에도 실제 값이 없을 때 undefined 반환
- null은 사용자가 명시적으로 "없음"을 나타내기 위해 대입한 것
참고 : 코어자바스크립트
Author And Source
이 문제에 관하여(코어자바스크립트 - 데이터 타입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@dongha1992/코어자바스크립트-데이터-타입
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
let a; // 변수 a를 선언 or 이 데이터의 식별자는 a로 한다
a = "abc" // 변수 a에 데이터 할당
let a = "abc" // 변수 선언과 할당을 한 문장으로 표현
참고 : 코어자바스크립트
Author And Source
이 문제에 관하여(코어자바스크립트 - 데이터 타입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dongha1992/코어자바스크립트-데이터-타입저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)