치춘짱베리굿나이스

자바스크립트의 대부분 요소는 객체인가요? 본문

Javascript + Typescript/이론과 문법

자바스크립트의 대부분 요소는 객체인가요?

치춘 2022. 7. 26. 17:45

자바스크립트의 대부분 요소는 객체인가요?

전혀 관계없는 거 (함수 관련) 검색하다가 함수는 객체라는 글을 보고 꽂혀서 배열도? 클래스도? 하면서 찾아보니까 다 객체였다

오죽하면 저 문장이 자동완성이 될까 싶어서 토막글로 기록해본다 사실 좀많이놀랐음

 

  • 자바스크립트에서는 함수도 객체 취급된다
    • 엄밀히 따지자면 자바스크립트에서 함수는 속성과 메서드를 가질 수 있는 일급 (first-class) 객체이고, 호출할 수 있다는 특징을 가지고 있으며, Function 생성자로 만들어진 객체이다
  • 배열도 함수처럼 특별한 유형의 객체이다
  • 자바스크립트에서 클래스는 class 키워드로 선언되었을 뿐인 함수이기 때문에 클래스도 객체다
  • 사실상 원시 요소 (primitives) 를 제외하면 거의 다 객체이고, 이 원시 요소들마저도 객체로 래핑되어 있다 (String, Number, Boolean 등)
    • primitive의 종류론 null, boolean, undefined, symbol, string, number가 있다

참고 자료

Understanding Classes in JavaScript | DigitalOcean

JavaScript Function Objects

함수 - JavaScript | MDN

How is almost everything in Javascript an object?

Comments