자바스크립트에서 데이터타입
두가지로 나눌수 있다 기본형 참조형
기본형
숫자, 문자형, 블리언 , null, undefined, 심볼
불변성
참조형
object 객체
array(배열), 함수, 날짜(Date), 정규식
가변성
식별자는 무엇일까?
변수의 이름
-> 식별자는 여기선 name 이 식별자 변수는 무엇일까 ?
변수는 무엇일까?
변경가능한 데이터가 담길수 있는 공간 혹은 그릇
-> 변수는 여기에선 값 즉 '지훈' 이 변수라고 한다
let name = '지훈';
변수와 상수를 구분하는 성질은 무엇일까 ?
변경 가능성이다
어 그럼 불변값이랑 상수랑은 같은건가요 ?
아니다 둘은 명확하게 구분할 필요가 있다
변수,상수를 구분짓는 것은 변경가능성의 대상 변수영역 메모리다
불변성 여부 구분짓는 것은 데이터 영역 메모리 이다
얇은 복사 와 깊은 복사에 대해
얇은 복사는 바로 아래의 단계의 값만 복사를 한다
기존에 있던 를 바꿔도 바꾸지 않고 기존에 없던건 기존데이터를 참고해서 만든다
원본을 복사- > 복사을 건드리면 원본에 지장이 간다
깊은복사는 내부의 모든 값들을 하나하나 전부 찾아서 전부 복사한다
객체의 프로퍼티 중에서 그 값이 기본형 데이터경우에는 그대로 복사해도 되지만 참조형 데이터는 다시
그 내부의 프로퍼티들을 복사해야 합니다!!!
원본을 복사 -> 원본과 사본 각자 건드려도 각각의 지장이 가지 않는다
Null && Undefined
값이 없는 변수는 자바스크립트 에서 값이 없다고 판단해 임시적으로 undefined를 할당 하는데, 만약 개발자가 값이 없는것을 확실히 할당해주고 싶다면 null을 사용해야한다. 따라서 undeifined를 개발자가 직접 변수에 할당하는것보다는 null을 할당하는것이 가장 바람직하다.
null == undefined //true
null === undefined //false
console.log(typeof null) // Object
'JavaScript' 카테고리의 다른 글
Js 호이스팅 (0) | 2023.01.24 |
---|---|
JS For in & For of (0) | 2023.01.24 |
Js Stack, Queue (0) | 2023.01.23 |
함수와 객체 (0) | 2023.01.19 |
JavaScript란 무엇인가 (0) | 2023.01.18 |