let foo = 45 // foo는 숫자
foo ='age' // 이제 foo 는 문자가 된다
foo = true // boolean 이 된다, 출력하면 true 가 나온다
숫자형 – 정수, 부동 소수점 숫자 등의 숫자를 나타낼 때 사용합니다. 정수의 한계는 ±253 입니다.
bigint – 길이 제약 없이 정수를 나타낼 수 있습니다.
문자형 – 빈 문자열이나 글자들로 이뤄진 문자열을 나타낼 때 사용합니다. 단일 문자를 나타내는 별도의 자료형은 없습니다.
불린형 – true, false를 나타낼 때 사용합니다.
null – null 값만을 위한 독립 자료형입니다. null은 알 수 없는 값을 나타냅니다.
undefined – undefined 값만을 위한 독립 자료형입니다. undefined는 할당되지 않은 값을 나타냅니다.
객체형 – 복잡한 데이터 구조를 표현할 때 사용합니다.
심볼형 – 객체의 고유 식별자를 만들 때 사용합니다.
alert (100) // 100 은 문자로 변환된다
alert (Number('100')) // 100은 숫자로 변환된다
alert (boolean(100)) // true 가 출력 된다
전달 받은 값 | 형 변환 후 |
---|---|
undefined | NaN |
null | 0 |
true and false | 1 and 0 |
string | 문자열 처음과 끝의 공백은 제거됨 |
전달 받은 값 | 형 변환 후 |
---|---|
0, undefiend, null, NaN, ““ | false, ” "는 빈 문자열이기 때문에 false |
그 외의 값 | true, ”0” 문자열 0은 값이 있기 때문에 true 공백이 있는 문자열도 비어있지 않기 때문에 true |
== (동등연산자)
=== (일치연산자)
alert(0 == false); // true를 출력한다 false 가 숫자 0으로 변환되기 때문
let a = '3'
let b= 3
alert(a === b) // false
alert(a ==b) // true
객체는 8개의 자료형 중에 하나이지만 문자와 숫자만 담을수 있는 원시형이 아니기 때문에 다양한 데이터를 담을 수 있다
코드
let user = {
name: 'dora',
age: 7,};
폴더 예시
폴더로 예시 설명
객체 = 폴더 = user
property = 파일
객체 key = 파일명 = name, age
객체 value = 파일에 담긴 데이터 = dora , 7
비교 값 | 기본형 타입(Primitive Type) | 참조형 타입(Reference Type) |
---|---|---|
데이터 종류 | 숫자(Number), bigInt,문자열(String),불리언(Boolean), null, undefined, 심볼(Symbol) | 객체(Object),배열(Array),함수(Function),날짜(Date),정규표현식(RegExp),Map,WeakMapSet,WeakSet |
레퍼런스: https://spiderwebcoding.tistory.com/8
const test = { //const 로 객체를 재할당하지 못하게 한다
'name' : 'jung'
};
Object.freeze(test); // object freeze로 test 의 속성을 수정하지 못하게 한다
레퍼런스: https://velog.io/@th0566/Javascript-얕은-복사-깊은-복사
💡 호이스팅과 TDZ는 무엇일까 ?스코프
자바스크립트가 코드를 읽어오는 구역
호이스팅
변수나 함수를 선언하면 코드가 실행되기 이전에, 스코프 상단 선언이 끌어 올려 지고 메모리에 선언이 저장되는 현상이다
TDZ
레퍼렌스: https://noogoonaa.tistory.com/78
💡 *나중에 조금더 알아보기*