Object Key

Redux를 공부하다 Ducks 구조를 공부하게 되었다. 예제들을 보다 약간은 의문스러운 부분을 발견했는데 아래와 같다.

const CREATE = 'counter/CREATE'

{CREATE:{counters:0}} // => {CREATE: {counter:0}}
{[CREATE]:{counters:0}} // => {counter/CREATE: {counter:0}}

상수 key로 넣으면 상수의 값이 아니라 상수의 이름이 key로 들어가는( {CREATE: value} ) 부분은 이해했다.(이부분에 대한 실수가 많을수 있겠다는 생각도 하게됐다) 이해가 안됐던 부분은 그 아래 코드인데, 상수를 배열에 감싸 key로 넣었더니 상수의 값이 key로 들어갔다.

아마도 객체의 key로 들어갈때 문자열이 아닐경우 형변환이 일어나는듯 하다. (valueOf(), toString())

const obj = {}
[obj].valueOf().toString() // => "[object Object]"
{[obj]:{}} // => {[object Object]:{}}

const str = 'String'
[str].valueOf().toString() // => "String"
{[str]: 'string'} // => {String:'string'}

results matching ""

    No results matching ""