최근 갑자기 제가 작성한 자바스크립트 코드가 너무 부풀어 오르는 것을 발견하고 자바스크립트의 약어 방식을 연구하기 시작했습니다. 이런 방식으로 우리의 JavaScript 코드는 더 깔끔하게 보일 수 있고, 우리의 기술도 향상시킬 수 있습니다. 그럼 공의 심판을 어떻게 줄여야 할까요?
다음은 공의 심판의 약어입니다.
코드는 다음과 같습니다
if (변수1 !== null || 변수1 !== 정의되지 않음 || 변수1 !== '') {
var 변수2 = 변수1
}
위의 의미는 변수1 은(는) 빈 개체가 아닙니다. 정의되지 않았거나 빈 문자열과 같지 않은 경우, 변수 2 변수를 선언하고 변수 1을 변수 2에 할당합니다. 즉, 변수1이 존재하면 변수1의 값이 변수2에 할당되고, 존재하지 않으면 빈 문자열이 됩니다. 다음과 같은 약식 코드입니다.
약어코드:
코드는 다음과 같습니다
var 변수2 = 변수1 '';
다음은 잘못된 방법입니다.
코드는 다음과 같습니다
var exp = null
if (exp == null)
{
alert("is null");
}
exp가 정의되지 않은 경우 null과 정의되지 않은 것은 다르지만 null과 동일한 결과를 얻습니다. 참고: 이 방법은 null과 정의되지 않음을 동시에 판단하려는 경우에 사용할 수 있습니다.
코드는 다음과 같습니다
var exp = null;
if (!exp)
{
alert("is null")
}
exp가 정의되지 않았거나 숫자가 0인 경우 또는 false인 경우 null과 둘 다 다르지만 null이 동일한 결과를 가지므로 동일한 결과를 얻게 됩니다. 참고: 이 방법은 null, 정의되지 않음, 숫자 0 및 false를 동시에 판단하려는 경우에 사용할 수 있습니다.
코드는 다음과 같습니다
var exp = null;
if (typeof exp == "null")
{
alert("is null")
}
이전 버전과의 호환성을 위해 exp는 null이고 typeof null은 항상 객체를 반환하므로 이런 식으로 판단할 수 없습니다.
코드는 다음과 같습니다
var exp = null;
if (isNull(exp))
{
alert("is null")
}
문자열이 비어 있는지 확인하세요
s는 공백, 탭, 양식 피드 등을 포함한 모든 공백 문자와 일치합니다. [fnrtv]와 동일합니다. 많은 경우 길이는 다음과 같이 문자열이 비어 있는지 직접 확인하는 데 사용됩니다.
코드는 다음과 같습니다
var strings = '';
if (string.length == 0)
{
alert('비워둘 수 없습니다.' );
}
그런데 사용자가 공백, 탭, 폼 피드를 입력하는 경우에는 비어 있지 않지만 그러한 데이터는 우리가 원하는 것이 아닙니다.
실제로 정규식을 사용하면 이러한 "빈" 기호를 제거하여 판단할 수 있습니다
코드는 다음과 같습니다
var strings = ' '
if (strings.replace(/(^s*)|(s*$)/g, " ").length = =0)
{
alert('cannot beempt');
}
s 소문자 s는 공백을 포함한 모든 공백 문자와 일치합니다. , 탭, 양식 나누기 등 [fnrtv]와 동일합니다.
공허하다는 판단의 줄임말입니다. 위의 방법이 도움이 되셨으면 좋겠습니다.