문자열과 같은 기본 값에 속성을 추가하려고 하면 느슨한 모드에서는 작동하지 않거나 엄격 모드에서는 TypeError가 발생합니다. 이는 JavaScript가 이러한 할당을 새 속성을 생성하는 것이 아니라 변수 값을 설정하려는 시도로 해석하기 때문입니다.
날짜 정렬에 대한 해결 방법
문자열에는 속성을 추가할 수 없습니다. , 그리드에서 날짜 정렬을 용이하게 하는 해결 방법이 있습니다:
ES5 접근자 속성
<code class="js">var test = "test";
test.test = "test inner";
console.log(test); // "test"
console.log(test.test); // undefined</code>
로그인 후 복사
ES5는 속성에 대한 getter 및 setter 함수를 정의할 수 있는 접근자 속성을 도입했습니다. 날짜 객체를 반환하는 String 프로토타입에 접근자 속성을 정의할 수 있습니다.
그러나 내장된 String 프로토타입을 수정하는 것은 좋지 않은 습관으로 간주됩니다.
정렬 함수 정의
또는 날짜 문자열을 인식하고 그에 따라 비교하는 사용자 정의 정렬 함수를 정의할 수 있습니다.
<code class="js">Object.defineProperty(String.prototype, 'date', {
get: function () {
return new Date(this);
}
});
var dateString = "2023-05-18";
var dateObject = dateString.date;
console.log(dateObject); // Date { 2023, 4, 18 ... }</code>
로그인 후 복사
사용자 정의 날짜 형식 지정자 만들기
JavaScript Date 생성자를 확장할 수 있습니다. 정렬하기 쉬운 문자열 표현을 반환하는 사용자 정의 형식 지정 함수:
위 내용은 JavaScript 문자열에 속성이 없는 이유는 무엇이며 이 제한 사항을 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!