>  기사  >  웹 프론트엔드  >  JavaScript에서 문자열 기본 요소에 속성을 추가할 수 없는 이유는 무엇입니까?

JavaScript에서 문자열 기본 요소에 속성을 추가할 수 없는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-31 21:36:29636검색

Why Can't You Add Properties to String Primitives in JavaScript?

문자열 기본 요소에 속성을 추가하려는 시도가 실패하는 이유

JavaScript에서는 아래 코드와 같이 문자열 기본 요소에 속성을 추가하려고 시도합니다. 효과가 없습니다:

<code class="javascript">var test = "test";
test.test = "test inner";
console.log(test.test); // Output: undefined</code>

JavaScript의 유형

이 문제를 이해하려면 JavaScript의 유형 개념을 이해해야 합니다. JavaScript에는 8가지 유형이 있습니다.

  • 7가지 기본 유형: 정의되지 않음, Null, Boolean, Number, BigInt, String 및 Symbol
  • 1가지 비원시 유형: Object

원시 값(예: 문자열)은 속성을 가질 수 없지만 객체는 가질 수 있습니다.

속성 할당

변수에 속성을 할당할 때, as:

<code class="javascript">foo.bar = 'abc';</code>

결과는 foo 값에 따라 다릅니다.

  • 정의되지 않음 또는 Null: 오류
  • 객체: 명명된 속성 '을 생성하거나 할당합니다. bar'
  • 다른 유형(예: 문자열): 엄격 모드의 TypeError(느슨한 모드에서는 작동하지 않음)

날짜 정렬 솔루션

특정한 경우 날짜가 문자열로 저장되므로 날짜 정렬에 대한 한 가지 해결 방법은 날짜가 항상 동일한 형식으로 저장된다고 가정하는 정렬 알고리즘에서 사용자 지정 비교 함수를 사용하는 것입니다. 이 사용자 정의 함수는 날짜 문자열의 형식을 기반으로 날짜 인식 비교를 수행할 수 있습니다.

위 내용은 JavaScript에서 문자열 기본 요소에 속성을 추가할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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