>  기사  >  웹 프론트엔드  >  Javascript 최적화 기술의 단락 표현에 대한 자세한 소개_javascript 기술

Javascript 최적화 기술의 단락 표현에 대한 자세한 소개_javascript 기술

WBOY
WBOY원래의
2016-05-16 16:07:231147검색

단락 표현이란?

단락 표현식: "&&" 및 "||" 연산자의 피연산자 표현식으로 이러한 표현식을 평가할 때 최종 결과가 참 또는 거짓으로 결정될 수 있는 한 평가 프로세스는 다음과 같습니다. 종단, 이를 단락 평가라고 합니다. 이는 이 두 연산자의 중요한 속성입니다.

가장 간단한 예:

코드 복사 코드는 다음과 같습니다.

foo = foo||bar;

이 코드 줄은 무엇을 의미하나요? 답:

코드 복사 코드는 다음과 같습니다.

//foo가 존재하면 값은 변경되지 않고 유지됩니다. 그렇지 않으면 bar의 값을 foo에 할당합니다
만약(!foo)
foo = 바;

JavaScript의 논리 연산에서 0, "", null, false, undefine, NaN은 모두 false로 판단되고, 나머지는 모두 true로 판단됩니다. 따라서 위 공식 foo = foo||bar;에서 ||는 먼저 첫 번째 피연산자를 계산합니다. true로 변환할 수 있으면 foo에 이미 값이 있음을 의미하며 왼쪽에 있는 표현식의 값이 반환됩니다. 그렇지 않으면 두 번째 피연산자 막대를 계산합니다.

또한 || 연산자의 피연산자가 부울 값이 아니더라도 어떤 유형의 값을 반환하든 부울 값으로 변환될 수 있으므로 부울 OR 연산으로 간주할 수 있습니다. .

물론 다음 접근 방식을 사용하는 것이 더 엄격할 것입니다.

코드 복사 코드는 다음과 같습니다.

if(foo) //충분히 엄격하지 않음

if(!!foo) //더 엄밀하게 말하면 !! 다른 유형의 값을 부울 유형으로 변환할 수 있습니다

테스트해 볼 수 있습니다:

코드 복사 코드는 다음과 같습니다.

var foo;
변수 번호 = 1;
var 문자열 = "문자열";
var obj = {};
var arr = [];


console.log(typeof(foo)); // 정의되지 않음
console.log(typeof(number)); //숫자
console.log(typeof(string)); //문자열
console.log(typeof(obj)); //객체 
console.log(typeof(arr)); //객체

console.log(typeof(!!foo)); // 부울
console.log(typeof(!!number)); //부울
console.log(typeof(!!string)); //부울
console.log(typeof(!!obj)); //부울
console.log(typeof(!!arr)); //부울

이를 사용하면 JavaScript 프로젝트 최적화 기사에 언급된 내용과 매우 일치할 수 있으므로 JavaScript 최적화 목적을 달성하기 위해 스크립트가 덜 실행되거나 전혀 실행되지 않을 수 있습니다. 그러나 이런 방식으로 작성하면 코드를 간소화하는 데 도움이 되지만 코드의 가독성이 떨어진다는 단점도 따른다는 점에 유의해야 합니다. 따라서 더 좋은 방법은 적절한 설명을 추가하는 것입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.