객체를 배열로 만드는법
Object.entries(object)
[[키,값] , [키,값], [키,값], [키,값], [키,값]]
응용 객체의 길이 찾기
for in 은
key 와 value를 한번씩 검사
객체의
for in 차이 Object.entries (배열형태로 반환) [[키,값] , [키,값], [키,값], [키,값], [키,값]]
줄바꿈 문자는 \n
hello\nworld\n
//hello
//world
원시타입 참조타입
변수는 stack 중 하나의 사물함에 이름표 부착 하고
할당된값을 저장
number boolean null undefined string => 원시타입 데이터
각 변수간의 원시타입 데이터를 복사할경우엔 데이터값이 복사돼서
기존 데이터에 영향 x
원시타입의 사물함 콜스택 (클래스에서본 사물함 )
값이 여러개인 배열은 ?
비교하고 찾으려면 사물함을 하나씩 뒤져봐야되는 엄청난 노가다
값대신 주소(heap에 연결되어있는)를 부착하고
해당주소지의 값을 주소지(heap)에 줄줄이 연결한다
값을찾을땐 사물함 안의주소를 보고 heap에서 찾아 반환한다
array object function 참조타입 데이터
주소를 복사한다 -> 복사한데이터에서 원소를 변경한다면
주소안에있는 데이터가 변경이 되기때문에 기존 데이터에 영향(변경)
참조타입의 사물함 (heap)
const
let 과 달리 재할당 불가
값이 변하지 않는 변수 , 즉 상수를 정의할떄 사용하는 키워드 .
let 과 동일하게 block cope 를 따른다
값을 재정의하려고하면 typeerror가 난다
let const var(oldway)
유효범위 block block function
값 재정의 가능 불가능 가능
재선언 불가능 불가능 가능
rest parameter *
...args는 rest parameter, rest syntax라고 부릅니다.
남아있는 모든 인자를 하나의 배열에 담기 때문에 이렇게 부릅니다
...[1,2,3,4] // 1,2,3,4,5 <-도 가능
어제오늘 해서 배열과 객체를 배웠는데
쉬운거같으면서도 헷갈려서 어렵다
그리고 그뒤 scope 개념은 처음엔 block만 생각하면 되겠지했는데
closure 실습에서 함수에 함수를 넣고 그 함수를 호출?
많이 헷갈리는데 내일도 집중있게 학습해야겠다