`TypeError: num_list.length is not a function` 에러에서 내가 모르고 있었던 것

DEOKJIN JEONG·2023년 9월 7일
0

TypeError: num_list.length is not a function 에러에서 내가 모르고 있었던 것

(내가 뭘 모르고 있는걸까?😥😥)


자바스크립트에서 '배열''객체 기반'.  
그래서, arr=[1,2,3] 을 선언하면, 실제로는

arr = {
	// 지금 이 순간 적는 것 👇👇
	'0' : 1, 
	'1' : 2, 
	'3' : 3,
	
	// 배열을 적기만 해도 자동적으로 생겨나는 부분 👇👇
	length : 3, 
	pop : function(){ pop 메서드 기능 }, 
	등등 
}
CF. 다만, 실제로, 정말, 배열이 이렇게 단순하게 되어있지는 않고, 더 복잡하다고 함. 

그러면, 내가 헷갈렸던 건, 
'배열의 길이를 구한다 = 메소드' 라고 생각해서 'length()' 라고 했는데, 실제로 자바스크립트 상에서는 'length 는 객체의 속성(key)' 이었던 거지. 그래서 '길이를 가져오고 싶으면, 해당 속성의 값을 호출' 하면 되었던 거야. 
  • 결론
결론 
	1) 자바스크립트는 '배열''객체 기반' 으로 표현한다. 
	2) '배열의 길이' 는 length 라는 '속성에 담겨져 있는 값' 을 불러오면 된다. 그래서, 'length()' 이렇게 함수 실행을 하는 방식으로 시도하면, 'length is not a function' 에러가 발생한다.

profile
으랏찻차

0개의 댓글