코딩이라는 것의 기초를 시작했지만 기초부터 매우 험난하다는 것을 느꼈다. 단지 그 함수를 알고 쓸 수 있다는 것을 넘어서 어떻게 변형하여서 활용할 수 있는지가 더 중요하다는 것을 아주 깊게 느끼고 있다. 그리고 하루하루 학습할 때마다 개념을 그냥 넘어가는 것보다는 요소들을 쪼개보면서 그것을 제대로 설명할 수 있을 정도로 이해하는 것이 훨씬 중요하다는 것을 깨달았다. 동료분들에게 내가 그렇게 생각하는 이유를 생각해보면서 문제에 접근하는 것이 매우 즐거웠고 나한테도 도움이 많이 된다. 앞으로의 학습에 있어서는 개념을 빠짐없이 내 것으로 만들어가면서 기초를 탄탄히 하는 수강생이 될 것이다.
원시 타입과 참조 타입
1) 원시타입
Boolean
Number
String
Null
Undefined
하나의 변수에 하나의 값이 들어간다
ex) let a = 15
let b = 'Hello'
복사한 값을 변환해도 원래 참조된 값은 변하지 않는다.
ex)
let a= 2
let b= a
b = 2
console.log(a) => 2 --- b를 바꿔도 a는 변하지 않는다.
같은 값을 가진 원시타입은 비교를 하면 true가 나온다.
ex)
let a = 2
let b = 2
console.log(a===b) => true
2) 참조타입
Array
Object
Function
하나의 변수에 하나 이상의 값이 포함될 수 있다.
ex) let a = [1, 2, 3, 4]
let a = {name: 김철수, age: 25}
복사한 값을 변환하면 원래의 값도 변한다
ex)
let a = [1,2,3,4]
let b = a
b[2] = 5
console.log(a) => [1,2,5,4] --- b가 바뀌는 원래 변수 a도 바뀐다.
같은 값을 가지더라도 참조타입은 서로 다른 비교가 안된다.
-> heap이라는 메모리에 참조값들이 '각각' 저장이 된다.
ex)
let a = [1,2,3,4]
let b = [1,2,3,4]
console.log (a ==== b) => false