개발/javascript2024. 5. 27. 15:50[JS] Hoisting

호이스팅이란? '끌어올리다'라는 뜻으로 인터프리터가 변수와 함수의 메모리 공간을 선언하기 전에 미리 할당하는 것이다.* JS는 인터프리터 방식이며, 현대에는 JIT compiler를 사용한다 = 자바와 유사함아래 예시 코드를 보면 코드를 위에서부터 순차적으로 실행하기 때문에 test()는 에러를 발생시킬 것 같지만, 실제로 실행해보면 문제없이 동작하는 것을 볼 수 있다.호이스팅으로 인해 위에서 호출된 test()가 함수의 메모리 주소를 가지고 있기 때문에 가능한 일이다.test();function test() { console.log("hoisting");}  변수 호이스팅에서는 함수와 달리 메모리 공간만을 할당하고 값까지 할당해주지는 않는다.그렇기 때문에 console.log를 출력했을 때 에러가 발..

개발/javascript2024. 5. 27. 14:44DOM

DOM이란?DOM이란 Document Object Model의 약자로 HTML의 태그들을 조작할 수 있도록 도와주는 HTML와 JavaScript 사이의 인터페이스 역할을 한다.DOM은 JS 기능의 일부가 아니라 JS로 조작할 대상을 지정할 수 있도록 API를 제공하는 것 뿐이기 때문에 JS가 아닌 다른 언어를 통해서도 사용이 가능하다. 예를 들어 파이썬에서도 다음과 같이 DOM을 조작할 수 있다.# Python DOM exampleimport xml.dom.minidom as mdoc = m.parse("C:\\Projects\\Py\\chap1.xml");doc.nodeName # DOM property of document object;p_list = doc.getElementsByTagName("..

image