프로그래밍 언어/JavaScript

[JS] id를 반환받지 않아도 Script에서 바로 지목할 수 있다.

tteokbokki-master 2024. 4. 24. 03:33

id를 반환받지 않아도 지목할 수 있다.

id값으로 coffee라는 값을 가진 요소를 반환받아서, 새롭게 만든 p태그를 붙이는 과정이다. 그런데 여기서 id를 그대로 붙여도 오류가 나지 않았다.

 

 

 

신기하게 querySelector를 주석처리하고, id값을 그대로 사용해도 출력이 되는 것을 확인할 수 있다.

 

 

 

 

 

왜 그런 것인가?

https://stackoverflow.com/questions/3434278/do-dom-tree-elements-with-ids-become-global-properties

 

Do DOM tree elements with IDs become global properties?

Working on an idea for a simple HTMLElement wrapper I stumbled upon the following for Internet Explorer and Chrome: For a given HTMLElement with an id in the DOM tree, it is possible to retrieve th...

stackoverflow.com

일부요소의 속성값 name과 모든 요소의 속성값 id는 window 객체의 속성으로 사용할 수 있다고 한다. 그래서 querySelector 또는 getElementById를 사용하지 않고도 직접적으로 사용할 수 있는 것!

 

그러나 기존의 전역변수와 구분이 되지 않고, 어찌 보면 이는 전역변수를 늘리는 행위가 된다. 추가 전역 변수가 많으면 더 많은 버그가 발생하기에 지양해야 한다.

 

 

 

 

 

 

자잘하지만 신기한 부분이다.