Tag Archives: eslint

javascript Object 내 key 존재여부 체크

{} 오브젝트 안에 특정키가 존재하는지 체크하려면??

Object.keys()로 keyset을 추출해서 순회하면서 key name이 일치하는게 있는지 체크하려고 했으나.. 찾아보니 Object.hasOwnProperty를 제공하고 있어서, 바로 ObjectName.hasOwnProperty(key name)을 던져서 존재여부를 확인할 수 있었다.

다만 ESLint를 사용하는데 콘솔에 다음과 같은 메시지가 나온다.

Do not access Object.prototype method ‘hasOwnProperty’ from target object.

찾아보니 Object.prototype의 builtin 제공 메서드를 바로 사용하지 않도록 하는 규칙 때문이라고 하여 , 다음과 같이 사용하면 된다.

// 사용금지
customObject.hasOwnProperty('keyName')

// 권장
Object.prototype.hasOwnProperty.call(customObject, 'keyName')

참고 : https://stackoverflow.com/questions/39282873/object-hasownproperty-yields-the-eslint-no-prototype-builtins-error-how-to