JavaScript 코딩을 하다 보면 데이터의 유효성 체크를 해줘야 할 때가 많이 있습니다.
특히 null 이나 undefined 값에 기본 함수를 사용할 시 에러가 발생할 때가 많이 있습니다.
데이터의 유효성 체크해야하는 경우
// 문자열의 길이를 리턴하는 함수
function getLength(str) {
return str.length
}
getLength("hello") // 5
getLength(null) // error 발생
문자열이나 배열의 길이를 리턴하는 기본 속성 length는
null이나 undefined에 사용할 경우 에러가 발생합니다.
아주 간단한예를 들었습니다만,
직접 프로그램을 짜다 보시면 위처럼 데이터가 유효한 값인지, 빈 값은 아닌지
체크해야 하는 경우를 많이 느끼실 수 있을 겁니다.
그런 경우를 위해 공통적으로 데이터를 체크하는 함수를 만들어 보겠습니다.
JavaScript 빈 값 체크 함수
// "", null, undefined, 이상한 숫자, 빈 Object, 빈 Array도 검사
function isEmpty(data) {
if(typeof(data) === 'object') {
if(!data) {
return true;
}
else if(JSON.stringify(data) === '{}' || JSON.stringify(data) === '[]') {
return true;
}
return false;
}
else if(typeof(data) === 'string') {
if(!data.trim()) {
return true;
}
return false;
}
else if(typeof(data) === 'undefined') {
return true;
}
else if(isNaN(data) === true) {
return true;
}
else {
return false;
}
}
위 함수는 빈 문자열, 또는 빈 Obejct, Array 또는 숫자에 관한 유효성을 검사하는 함수입니다.
사용 환경에 따라 조금씩 수정해서 사용하셔도 좋겠습니다.
이런 식으로 공통 함수를 만들어 데이터의 유효성을 체크할 때 사용하면 굉장히 유용할 것입니다.