[JS] 타입

soor.dev·2021년 3월 2일
0

Java Script

목록 보기
18/26
post-thumbnail

1. 원시자료형 (Primitive Type)

TypeDescription
Number1, 2, 3, 100, .... 모든 숫자
String"Hello, world" 'Hola' ..큰/작은 따옴표 안의 것
Booleantrue / false
undefinedundefined
nullnull

undefined : 변수가 선언이 되었지만, 값이 할당되지 않았을때
null : 할당된 값 (값이 없다는 것을 보여주는 변수로서 사용)

null === undefined // false
null == undefined // true
null === null // true

undefined vs null

stackoverflow

각 유형마다 해당되는 method가 다름!

< 숫자를 문자열로 바꾸는 방법 >

1. String(input);
input에 들어가는 값을 문자열로 반환

let num = 200;
let str = String(num);
console.log(str); 
// "200"
console.log(typeof str); 
// string

2. Number.prototype.toString();

let count = 10;
let str = count.toString(); // "10"
console.log(typeof str) // string

< 문자열을 숫자로 바꾸는 방법 >

1. Number(input);

let str = "20210302";
let num = Number(str);
console.log(num);
console.log(typeof num);
let 

2. 참조 자료형 (Reference Type)

TypeDescripttion
Array['apple', 'banana', 'kiwi'] 배열 안에 값이 나열되어 있음
Object{key : value, key2 : value2}
function()

원시자료형은 메모리의 stack ---> 보관함 하나하나에 저장
참조자료형은 메모리의 heap ---> 값을 가리키는 주소에 저장

주소값만 같으면 참조자료형은 같은 주소를 가지고 있는 요소들에게 반영이 된다는 것! 그리고 같은 배열, 객체, 함수처럼 보여도 랜덤의 주소에 저장되어 있기 때문에 서로 엄밀히 같다고 말할 수 없기에 false값이 나온다.

하지만 원시자료형은 해당 값이 바뀌어 할당된다.

let x = 2;
let y = x;
y = 3;
x의 값은 ??? // 2

0개의 댓글