<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
		<id>https://tcatmon.com/w/index.php?action=history&amp;feed=atom&amp;title=%ED%98%B8%EC%9D%B4%EC%8A%A4%ED%8C%85</id>
		<title>호이스팅 - 편집 역사</title>
		<link rel="self" type="application/atom+xml" href="https://tcatmon.com/w/index.php?action=history&amp;feed=atom&amp;title=%ED%98%B8%EC%9D%B4%EC%8A%A4%ED%8C%85"/>
		<link rel="alternate" type="text/html" href="https://tcatmon.com/w/index.php?title=%ED%98%B8%EC%9D%B4%EC%8A%A4%ED%8C%85&amp;action=history"/>
		<updated>2026-06-28T11:44:44Z</updated>
		<subtitle>이 문서의 편집 역사</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>https://tcatmon.com/w/index.php?title=%ED%98%B8%EC%9D%B4%EC%8A%A4%ED%8C%85&amp;diff=538282&amp;oldid=prev</id>
		<title>2017년 2월 6일 (월) 15:54에 Maintenance script님의 편집</title>
		<link rel="alternate" type="text/html" href="https://tcatmon.com/w/index.php?title=%ED%98%B8%EC%9D%B4%EC%8A%A4%ED%8C%85&amp;diff=538282&amp;oldid=prev"/>
				<updated>2017-02-06T15:54:41Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt; * 관련 문서: [[자바스크립트]], [[컴퓨터공학]], [[공학 관련 정보]], [[나무위키 컴퓨터 프로젝트]], [[인터넷 관련 정보]]&lt;br /&gt;
&lt;br /&gt;
[목차]&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
&lt;br /&gt;
[[자바스크립트]] 코드를 인터프리터가 로드할 때, 변수의 정의가 그 범위에 따라 선언과 할당으로 분리되어 변수의 선언을 항상 컨텍스트 내의 최상위로 끌어올리는 것을 의미한다. 이는 오로지 변수에만 해당되는 것은 아니고 함수도 가능하며, 자바스크립트에서 함수의 호출을 첫 줄에서 하고 마지막 줄에 함수를 정의해도 문제없이 작동되도록 하는 유용한 특성이다.&lt;br /&gt;
&lt;br /&gt;
== 예제 ==&lt;br /&gt;
&lt;br /&gt;
가령 아래와 같은 코드가 있을 경우,&lt;br /&gt;
{{{#!HTML&lt;br /&gt;
&amp;lt;!-- HTML generated using hilite.me --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;function&amp;lt;/span&amp;gt; sum (a, b) {&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;var&amp;lt;/span&amp;gt; x = add(a,b);&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; x;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;function&amp;lt;/span&amp;gt; add (c, d) {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;var&amp;lt;/span&amp;gt; result = c+d;&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; result;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
자바스크립트 인터프리터는 아래와 같이 읽는다.&lt;br /&gt;
{{{#!HTML&lt;br /&gt;
&amp;lt;!-- HTML generated using hilite.me --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;function&amp;lt;/span&amp;gt; sum (a, b) {&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;var&amp;lt;/span&amp;gt; x = undefined;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;function&amp;lt;/span&amp;gt; add (c, d) {&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;var&amp;lt;/span&amp;gt; result = c+d;&lt;br /&gt;
    &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; result;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  x = add(a,b);&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
&lt;br /&gt;
변수의 경우 어디서 어떻게 선언을 하더라도 항상 컨텍스트내의 최상위로 끌고올라온 뒤 'undefined'를 할당해 둔다. 이후 함수 선언을 끌고 올라오고 난 뒤 변수의 할당과 함수의 실행문을 순서대로 가져온다. 즉 호이스팅은 자바스크립트 인터프리터가 코드를 읽는 방식이며, 이를 이해해야 원치않는 'undefined'가 출력되는 것을 막을 수 있다.&lt;br /&gt;
&lt;br /&gt;
[[분류:프로그래밍]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>	</entry>

	</feed>