덧셈 연산자 및 배열
덧셈 연산자( )를 배열과 함께 사용할 때 고유한 문제가 발생합니다.
[] []:
예기치 않게 두 개의 빈 배열을 연결하면 빈 배열이 생성됩니다. string.
[] {}:- 빈 배열과 객체를 추가하면 "[Object]"가 생성되며, 이는 연산자가 배열을 기본 요소로 변환함을 의미합니다.
{} []:- 이 동작은 JavaScript 엔진에 따라 다릅니다. 동영상에서는 결과가 0이어야 한다고 제안하지만 일부 환경에서는 "[객체]"를 반환합니다.
{} {}:- 두 객체를 추가하면 "객체"가 생성되어 JavaScript가 객체를 변환함을 나타냅니다.
숫자에서 문자열 빼기- 연산자가 다음 값에 적용될 때 다양한 유형, 특성이 발생합니다:
Array(16).join("wat" - 1):
이 표현식은 "NaNNaNNaNNaNNaNNaN"을 생성합니다. JavaScript는 "wat" - 1을 NaN으로 강제 변환하고 이를 빈 문자열과 연결하여 조인 인수를 형성합니다.
이러한 특성 이해- 이러한 동작을 이해하려면 다음을 자세히 살펴보는 것이 중요합니다. ECMA-262 표준:
[] []:
배열은 toString() 메서드를 사용하여 기본 형식으로 변환되며, 빈 배열에 대해서는 빈 문자열을 반환합니다.
[] {}:- 객체는 toString()을 사용하여 기본 형식으로 변환되므로 비어 있지 않은 경우 "[object Object]"가 생성됩니다. object.
{} []:- 빈 블록 문에는 반환 값이 없으므로 배열에 대해 단항 반환 0이 됩니다(빈 문자열로 강제 변환).
{} {}:- 연산자는 객체를 문자열로 변환하여 "[object Object]".
Array(16).join("wat" - 1):- NaN은 문자열에서 숫자를 빼려고 시도한 결과입니다.
강제 표현식 문- 특정 상황에서는 {} 구문이 객체 리터럴이 아닌 표현식 문으로 해석될 수 있습니다. 예상되는 작업 결과가 바뀔 수 있습니다.
강력하고 예측 가능한 코드를 작성하고 스크립트가 의도한 대로 작동하도록 하려면 이러한 이상한 JavaScript 동작을 이해하는 것이 중요합니다.
위 내용은 JavaScript가 and - 연산자를 사용하여 예상치 못한 결과를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!