const test1 = {}
test1[Date.now()] = {text:"record", work:true}
//{text: 'record', work: true}
//test1 == {현재시간 숫자값: {text:"record", work:true} }
이렇게 object로 변수를 선언하면, Date.now()를 아이디로 사용할 수 있어서 편리하다.
하지만 , 리액트에서는 이렇게 사용 할 수 없다 (state 값은 못바꾸는 원칙때문. 따라서 setState를 사용해서 state를 변경해야한다. )
다음 방법을 리액트에서 사용해 볼 수 있다.
Object.assign은 object 를 가져다가 다른 object와 합쳐준다. 그런다음 새로운 object를 리턴해준다. (여기서는 object로 만들었지만, 배열도 선언할 수 있다.)
const newState = Object.assign({}, test1, {[Date.now()]:{work:true}})
//{'test1의 현재시간 숫자값' : {text:"record", work:true}, 'newState의 현재시간 숫자값': {work:true}}
setNewState(newState)
Object.keys 사용해서 hash table의 키값 가져오기
Object.keys(hash1) // hash1 의 키값을 가져오고,
Object.keys(hash1).map(x=>hash1[x]) // 키값들을 map 함수로 각 키들의 내용을 얻게됨.
hash1['현재시간 숫자값'] // 해당 키값의 내용을 받음.
'JavaScript' 카테고리의 다른 글
()() , 괄호 두개는 'IIFE' 즉시 실행 함수 표현 (0) | 2023.01.25 |
---|---|
CallStack 콜 스택 - 예제로 기억하기 (0) | 2023.01.18 |
Babel 바벨? (2) | 2023.01.05 |
배열에서 원하는 값까지만 가져오기 slice() (0) | 2022.11.02 |
Fuctions 함수 (0) | 2022.10.17 |