JavaScript에서 함수, 문자열 및 숫자 객체가 있습니까?
거의 모든 것을 객체로 선언하는 JavaScript의 명성은 특히 혼란스러울 수 있습니다. 초보자. 메서드와 속성을 갖춘 객체가 중요한 역할을 하는 것은 사실이지만 문자열, 숫자, 함수와 같은 기본 요소는 다소 다르게 동작합니다.
기본 값과 객체
JavaScript에서 기본 값은 변경할 수 없으며 점 표기법을 통해 액세스할 수 없습니다. 그러나 JavaScript는 기본 요소에 객체와 유사한 메서드 및 속성을 부여하는 래퍼 객체(문자열, 숫자 및 부울)를 제공합니다.
래퍼 객체
래퍼 객체는 뒤에서 생성됩니다. 프리미티브의 속성에 액세스할 때의 장면. 예를 들어 다음 코드에서는
var s = "foo"; var sub = s.substring(1, 2);
JavaScript가 자동으로 String 객체를 생성하고 substring() 메서드를 호출한 다음 해당 객체를 삭제합니다. 이제 하위 변수에는 기본 문자열 "o"가 포함됩니다.
기본 요소에 속성을 할당할 수 있는 것처럼 보일 수 있지만 이러한 할당은 실제로 즉시 삭제되는 래퍼 개체에서 수행됩니다. 따라서 이러한 속성을 검색하면 다음 예에서 설명한 것처럼 정의되지 않은 결과가 생성됩니다.
var s = "foo"; s.bar = "cheese"; alert(s.bar); // undefined
Functions as Objects
프리미티브와 달리 함수는 상속하는 완전한 개체입니다. 개체에서. 다음 코드에서 볼 수 있듯이 속성을 가질 수 있습니다.
function foo() {} foo.bar = "tea"; alert(foo.bar); // tea
요약하자면 기본 요소는 JavaScript에서 본질적으로 개체 특성을 갖지 않습니다. 그러나 래퍼 객체는 객체와 유사한 동작의 외관을 제공하는 반면, 함수는 속성 및 메서드와 상호 작용할 수 있는 실제 객체입니다. 이러한 구별은 JavaScript의 유형 시스템을 이해하고 정보에 입각한 코딩 결정을 내리는 데 필수적입니다.
위 내용은 함수, 문자열, 숫자는 실제로 JavaScript의 객체처럼 동작합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!