Front-end/Javascript

Javascript ) 객체 속성 접근자 obj.key 그리고 obj[key]

madison 2020. 2. 21. 14:07

 

회사에서 개발을 하다가

 if(null != A && undefined != A && "" != A)
    {	
    	// 배열 한개. 
    	var a_parsing 		= JSON.parse(A);
    	var keysInB 		= Object.keys(B);
    	
    	for( var i in a_parsing) {   		
    		for (var l in keysInB) {
    			if (a_parsing[i].key == keysInB[l]){   	
    				var one_key = keysInB[l];
    				keys.one_key.something = local_colorList[i].something;
    				break;
    			}    				
    		}   		
    	}

이런식으로 저 keys 라는 객체의 one_key라는 value의 something에 특정값을 셋팅해줘야하는데

자꾸 one_key 찾을수 없다는 에러가 떠서 빡쳐서 찾아보니 내 무지에서 비롯된 에러인데 괜히 씅냈다. ㅋㅋ 하 ㅋㅋ 

여기서 one_key는 문자열 상태라서 keys라는 객체의 특정 속성에 접근하려면 obj.key 가 아닌 obj[key] 형식으로 접근을 해야하기 때문이다. 

obj[key] 괄호 표기법은 문자열을 사용할수 있다.

obj.key 점 표기법은 유효한 식별자여야 한다.