<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>코딩이 즐겁다</title>
    <link>https://withnicebamf.tistory.com/</link>
    <description>여러 프로그래밍 언어 공부와 기술을 공부하는 사람들을 위해 아는 지식들을 공유 드리고자 만든 블로그입니다.</description>
    <language>ko</language>
    <pubDate>Thu, 9 Apr 2026 10:23:45 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>코즐</managingEditor>
    <image>
      <title>코딩이 즐겁다</title>
      <url>https://tistory1.daumcdn.net/tistory/7600095/attach/12383fec7abe4b5ab1d6a8f92de19625</url>
      <link>https://withnicebamf.tistory.com</link>
    </image>
    <item>
      <title>[Javascript] Array 요소 추가, 삭제, 수정하는 방법 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/50</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;배열 요소 추가 (Add) &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;push() : 배열 끝에 추가 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;unshift() : 배열 앞에 추가 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;splice() : 특정 위치에 추가 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;전개 연산자(...)&amp;nbsp; : 새로운 배열 추가 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;배열 요소 삭제 (Remove) &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_7&quot;&gt;pop() : 배열 끝 요소 삭제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_8&quot;&gt;shift() : 배열 앞 요소 삭제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_9&quot;&gt;splice() : 특정 위치 요소 삭제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_10&quot;&gt;filter() : 조건을 만족하는 요소만 남기기 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_11&quot;&gt;배열 요소 교체 (Replace) &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_12&quot;&gt;인덱스로 직접 변경 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_13&quot;&gt;splice() 사용 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_14&quot;&gt;map() : 특정 요소만 교체 (새 배열 반환) &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;

&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_1&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;배열 요소 추가 (Add)&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;strong&gt;배열에 요소를 추가하는 방법&lt;/strong&gt;에는 push(), unshift(), splice(), 전개 연산자(...) 등이 있습니다.&lt;/p&gt;
&lt;h3 id=&quot;move_list_2&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;push() : 배열 끝에 추가&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446206477&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3];
arr.push(4);  // [1, 2, 3, 4]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열의 &lt;b&gt;끝&lt;/b&gt;에 새로운 요소를 추가합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_3&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;unshift() : 배열 앞에 추가&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446245218&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [2, 3, 4];
arr.unshift(1);  // [1, 2, 3, 4]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열의 &lt;b&gt;앞&lt;/b&gt;에 새로운 요소를 추가합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_4&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;splice() : 특정 위치에 추가&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446286200&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 3, 4];
arr.splice(1, 0, 2);  // [1, 2, 3, 4]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;splice(삽입할 인덱스, 삭제할 개수, 추가할 요소들)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드에서 splice(1, 0, 2)는 &lt;b&gt;인덱스 1에 &quot;2&quot;를 추가&lt;/b&gt;하고 기존 요소를 밀어냅니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_5&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;전개 연산자(...)&amp;nbsp; : 새로운 배열 추가&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446353164&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3];
let newArr = [...arr, 4];  // [1, 2, 3, 4]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원본 배열을 수정하지 않고 &lt;b&gt;새로운 배열을 생성&lt;/b&gt;하여 요소를 추가할 때 유용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_6&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;배열 요소 삭제 (Remove)&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;strong&gt;배열 요소를 삭제하는 방법&lt;/strong&gt;에는 pop(), shift(), splice(), filter() 등이 있습니다.&lt;/p&gt;
&lt;h3 id=&quot;move_list_7&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;pop() : 배열 끝 요소 삭제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446496487&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3];
arr.pop();  // [1, 2]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열의 &lt;b&gt;마지막 요소를 제거&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_8&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;shift() : 배열 앞 요소 삭제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446533231&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3];
arr.shift();  // [2, 3]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열의 &lt;b&gt;첫 번째 요소를 제거&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_9&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;splice() : 특정 위치 요소 삭제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446569834&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3, 4];
arr.splice(1, 1);  // [1, 3, 4]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;splice(삭제할 인덱스, 삭제할 개수)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드에서 splice(1, 1)은 &lt;b&gt;인덱스 1의 요소(&quot;2&quot;)를 삭제&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_10&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;filter() : 조건을 만족하는 요소만 남기기&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446624416&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3, 4];
let newArr = arr.filter(num =&amp;gt; num !== 2);  // [1, 3, 4]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 요소를 삭제하고 싶을 때 유용하며, 원본 배열을 수정하지 않고 &lt;b&gt;새로운 배열을 반환&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_11&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;배열 요소 교체 (Replace)&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;strong&gt;배열 요소를 교체하는 방법&lt;/strong&gt;에는 &lt;b&gt;인덱스를 이용한 대체&lt;/b&gt;와 splice()를 사용하는 방법이 있습니다.&lt;/p&gt;
&lt;h3 id=&quot;move_list_12&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;인덱스로 직접 변경&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446760940&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3];
arr[1] = 99;  // [1, 99, 3]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열의 특정 인덱스 값을 &lt;b&gt;직접 변경&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h3 id=&quot;move_list_13&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;splice() 사용&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446790801&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3];
arr.splice(1, 1, 99);  // [1, 99, 3]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;splice(교체할 인덱스, 삭제할 개수, 추가할 값)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드에서 splice(1, 1, 99)는 &lt;b&gt;인덱스 1의 요소를 &quot;99&quot;로 교체&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h3 id=&quot;move_list_14&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;map() : 특정 요소만 교체 (새 배열 반환)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742446828051&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let arr = [1, 2, 3];
let newArr = arr.map(num =&amp;gt; (num === 2 ? 99 : num));  // [1, 99, 3]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 조건을 만족하는 요소만 &lt;b&gt;변경한 새 배열을 생성&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Javascript</category>
      <category>JavaScript</category>
      <category>javascript array</category>
      <category>javascript array add</category>
      <category>javascript array map</category>
      <category>javascript array method</category>
      <category>javascript array push</category>
      <category>javascript array remove</category>
      <category>javascript array shift</category>
      <category>javascript array splice</category>
      <category>javascript array unshift</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/50</guid>
      <comments>https://withnicebamf.tistory.com/50#entry50comment</comments>
      <pubDate>Thu, 20 Mar 2025 14:12:12 +0900</pubDate>
    </item>
    <item>
      <title>[Javascript] 삼항 연산자 사용법에 대한 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/49</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;삼항 연산자의 기본 문법 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;삼항 연산자 vs if...else 비교 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;활용 예제 &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;짝수/홀수 구별 예제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;로그인 상태 확인 예제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;할인 적용 예제 (삼항 연산자와 함수) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_7&quot;&gt;객체 속성 선택 예제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_8&quot;&gt;&amp;amp;&amp;amp; 연산자로 값 반환 예제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_9&quot;&gt;|| 연산자로 기본값 설정 예제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_10&quot;&gt;삼항 연산자와 JSX (React) &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_11&quot;&gt;장점과 단점 &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;

&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;141&quot; data-start=&quot;38&quot; data-ke-size=&quot;size18&quot;&gt;&lt;strong&gt;삼항 연산자&lt;/strong&gt;는 if...else 문을 간결하게 표현할 수 있는 &lt;strong&gt;조건 연산자&lt;/strong&gt;입니다. 이름 그대로 세 개의 피연산자를 가지기 때문에 &lt;strong&gt;삼항(Ternary) 연산자&lt;/strong&gt;라고 불립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_1&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;삼항 연산자의 기본 문법&lt;/strong&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1742301977471&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;조건식 ? 참일_경우_값 : 거짓일_경우_값;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;251&quot; data-start=&quot;215&quot;&gt;&lt;b&gt;조건식&lt;/b&gt;이 true이면 참일_경우_값이 실행됨.&lt;/li&gt;
&lt;li data-end=&quot;251&quot; data-start=&quot;215&quot;&gt;&lt;b&gt;조건식&lt;/b&gt;이 false이면 거짓일_경우_값이 실행됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_2&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;삼항 연산자 vs if...else 비교&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;삼항 연산자는 if...else를 더 짧게 표현할 수 있지만, 가독성도 고려해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ if...else 사용 예제:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302159237&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let age = 20;
let message;

if (age &amp;gt;= 18) {
    message = &quot;성인입니다.&quot;;
} else {
    message = &quot;미성년자입니다.&quot;;
}

console.log(message); // &quot;성인입니다.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 삼항 연산자 사용 예제:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302167411&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let age = 20;
let message = (age &amp;gt;= 18) ? &quot;성인입니다.&quot; : &quot;미성년자입니다.&quot;;

console.log(message); // &quot;성인입니다.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 로직을 한 줄로 표현할 수 있어 &lt;strong&gt;코드가 짧아지고 직관적&lt;/strong&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_3&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;활용 예제&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&quot;move_list_4&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;짝수/홀수 구별 예제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302304435&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let num = 5;
let result = (num % 2 === 0) ? &quot;짝수&quot; : &quot;홀수&quot;;

console.log(result); // &quot;홀수&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드에서 num % 2 === 0 조건이 false이므로 홀수가 출력됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_5&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;로그인 상태 확인 예제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302365389&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let isLoggedIn = true;
let userMessage = isLoggedIn ? &quot;환영합니다!&quot; : &quot;로그인이 필요합니다.&quot;;

console.log(userMessage); // &quot;환영합니다!&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;isLoggedIn 값이 true면 &quot;환영합니다!&quot;, false면 &quot;로그인이 필요합니다.&quot;가 출력됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_6&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;할인 적용 예제 (삼항 연산자와 함수)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302425722&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function getDiscount(price) {
    return price &amp;gt; 10000 ? price * 0.9 : price;
}

console.log(getDiscount(15000)); // 13500 (10% 할인)
console.log(getDiscount(8000));  // 8000 (할인 없음)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;price가 10,000 초과이면 &lt;b&gt;10% 할인된 가격&lt;/b&gt; 반환.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_7&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;객체 속성 선택 예제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302460510&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let user = { name: &quot;Alice&quot;, age: 25 };
let userType = user.age &amp;gt;= 18 ? &quot;성인&quot; : &quot;미성년자&quot;;

console.log(userType); // &quot;성인&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-end=&quot;2347&quot; data-start=&quot;2309&quot; data-ke-size=&quot;size16&quot;&gt;객체 데이터를 기반으로 간단한 조건을 빠르게 처리할 수 있습니다.&lt;/p&gt;
&lt;p data-end=&quot;2347&quot; data-start=&quot;2309&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_8&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;&amp;amp;&amp;amp; 연산자로 값 반환 예제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302522032&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let isMember = true;
console.log(isMember &amp;amp;&amp;amp; &quot;회원 전용 콘텐츠&quot;); 
// &quot;회원 전용 콘텐츠&quot; (isMember가 true이므로 실행됨)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_9&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;|| 연산자로 기본값 설정 예제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302551667&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;let username = &quot;&quot;;
let displayName = username || &quot;Guest&quot;;

console.log(displayName); // &quot;Guest&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;username이 빈 문자열(&quot;&quot;, falsy 값)이므로 &quot;Guest&quot;가 출력됨.&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h3 id=&quot;move_list_10&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;삼항 연산자와 JSX (React)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1742302579022&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const isDarkMode = true;

return (
  &amp;lt;div style={{ backgroundColor: isDarkMode ? &quot;black&quot; : &quot;white&quot;, color: isDarkMode ? &quot;white&quot; : &quot;black&quot; }}&amp;gt;
    {isDarkMode ? &quot;다크 모드&quot; : &quot;라이트 모드&quot;}
  &amp;lt;/div&amp;gt;
);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;isDarkMode 값에 따라 배경색과 텍스트가 변경됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_11&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;장점과 단점&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 장점:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;코드가 간결해짐&lt;/b&gt; &amp;rarr; if...else보다 더 짧고 직관적.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;변수 선언과 동시에 할당 가능&lt;/b&gt; &amp;rarr; 한 줄로 처리 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;❌ 단점:&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;가독성이 떨어질 수 있음&lt;/b&gt; &amp;rarr; 중첩되면 if...else보다 이해하기 어려움.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;디버깅이 어려울 수 있음&lt;/b&gt; &amp;rarr; 한 줄로 작성된 코드에서 오류 발생 시 찾기 어려움.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Javascript</category>
      <category>&amp;amp;&amp;amp;연산자</category>
      <category>JavaScript</category>
      <category>javascript example</category>
      <category>REACT</category>
      <category>||연산자</category>
      <category>리엑트 삼항연산자</category>
      <category>삼항연산자</category>
      <category>웹 프로그래밍</category>
      <category>웹 프로그래밍 기초</category>
      <category>자바스크립트 삼항연산자</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/49</guid>
      <comments>https://withnicebamf.tistory.com/49#entry49comment</comments>
      <pubDate>Tue, 18 Mar 2025 22:08:57 +0900</pubDate>
    </item>
    <item>
      <title>동기(Synchronous)와 비동기(Asynchronous)의 개념 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/48</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;동기(Synchronous)란? &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;동기 특징 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;비동기(Asynchronous)란? &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;비동기 특징 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;동기 vs 비동기 비교 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;요약 정리 &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;

&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_1&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;동기(Synchronous)란?&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;동기 방식은 &lt;strong&gt;작업이 순차적으로 실행되는 방식&lt;/strong&gt;입니다. 즉, &lt;b&gt;하나의 작업이 끝나야만 다음 작업이 실행될 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;h3 id=&quot;move_list_2&quot; style=&quot;border-bottom: 1px solid #47C83E; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;  동기 특징&lt;/strong&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드가 위에서 아래로 &lt;strong&gt;차례대로 실행&lt;/strong&gt;됨.&lt;/li&gt;
&lt;li&gt;하나의 작업이 끝나야 다음 작업을 실행.&lt;/li&gt;
&lt;li&gt;실행 순서가 보장됨 (예측하기 쉬움).&lt;/li&gt;
&lt;li&gt;실행 시간이 긴 작업이 있으면 &lt;b&gt;전체 코드 실행이 멈춤&lt;/b&gt; (블로킹 발생).&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741671888706&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(&quot;1. 아침 식사 준비&quot;);
console.log(&quot;2. 밥 먹기&quot;);
console.log(&quot;3. 설거지 하기&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;  실행 결과:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 아침 식사 준비&lt;br /&gt;2. 밥 먹기&lt;br /&gt;3. 설거지 하기&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;순차적으로 실행되므로 실행 순서가 보장됩니다.&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_3&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;비동기(Asynchronous)란?&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;비동기 방식은 &lt;strong&gt;작업을 동시에 처리할 수 있는 방식&lt;/strong&gt;입니다. 즉, &lt;b&gt;어떤 작업이 끝나길 기다리지 않고 다음 작업을 실행할 수 있습니다.&lt;/b&gt;&lt;/p&gt;
&lt;h3 id=&quot;move_list_4&quot; style=&quot;border-bottom: 1px solid #47C83E; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;  비동기 특징&lt;/strong&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하나의 작업이 끝날 때까지 기다리지 않고 &lt;strong&gt;다른 작업을 먼저 수행 가능.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;실행 순서가 예측되지 않을 수 있음.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주로 setTimeout(), Promise, async/await 같은 비동기 함수 사용.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;긴 작업(예: 서버 요청, 파일 읽기)을 효율적으로 처리 가능.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741672174232&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(&quot;1. 아침 식사 준비&quot;);

setTimeout(() =&amp;gt; {
    console.log(&quot;2. 밥 먹기 (3초 후 실행)&quot;);
}, 3000);

console.log(&quot;3. 설거지 하기&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;  실행 결과:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 아침 식사 준비&lt;br /&gt;3. 설거지 하기 &lt;br /&gt;(3초 후) &lt;br /&gt;2. 밥 먹기 (3초 후 실행)&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;비동기 방식이므로 &quot;설거지 하기&quot;가 먼저 실행되고, 3초 후에 &quot;밥 먹기&quot;가 실행됩니다.&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_5&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;동기 vs 비동기 비교&lt;/strong&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 105px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 22.1705%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;비교 항목&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 34.3797%; height: 20px; text-align: center;&quot;&gt;&lt;strong&gt;동기(Synchronous)&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;width: 43.4497%; height: 20px; text-align: center;&quot;&gt;&lt;strong&gt;비동기(Asynchronous)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.1705%; height: 17px;&quot;&gt;&lt;b&gt;실행 방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 34.3797%; height: 17px;&quot;&gt;순차적으로 실행&lt;/td&gt;
&lt;td style=&quot;width: 43.4497%; height: 17px;&quot;&gt;동시에 여러 작업 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.1705%; height: 17px;&quot;&gt;&lt;b&gt;실행 순서&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 34.3797%; height: 17px;&quot;&gt;코드 순서대로 실행됨&lt;/td&gt;
&lt;td style=&quot;width: 43.4497%; height: 17px;&quot;&gt;실행 순서가 보장되지 않을 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.1705%; height: 17px;&quot;&gt;&lt;b&gt;예제&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 34.3797%; height: 17px;&quot;&gt;console.log(), 일반 함수 실행&lt;/td&gt;
&lt;td style=&quot;width: 43.4497%; height: 17px;&quot;&gt;setTimeout(), fetch(), Promise, async/await&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.1705%; height: 17px;&quot;&gt;&lt;b&gt;단점&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 34.3797%; height: 17px;&quot;&gt;느린 작업이 있으면 전체가 멈춤&lt;/td&gt;
&lt;td style=&quot;width: 43.4497%; height: 17px;&quot;&gt;순서가 뒤섞일 수 있어 코드 관리가 어려울 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 22.1705%; height: 17px;&quot;&gt;&lt;b&gt;장점&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 34.3797%; height: 17px;&quot;&gt;실행 순서가 예측 가능&lt;/td&gt;
&lt;td style=&quot;width: 43.4497%; height: 17px;&quot;&gt;긴 작업을 처리할 때 효율적&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_6&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;요약 정리&lt;/strong&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;strong&gt;동기(Synchronous)&lt;/strong&gt;: 순차적으로 실행되며, 하나가 끝나야 다음이 실행됨.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;비동기(Asynchronous)&lt;/strong&gt;: 동시에 여러 작업이 진행될 수 있으며, 실행 순서가 예측되지 않을 수 있음.&lt;/li&gt;
&lt;li&gt;비동기는 &lt;b&gt;서버 요청, 파일 읽기, 데이터베이스 작업&lt;/b&gt; 등 시간이 오래 걸리는 작업에서 유용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Javascript</category>
      <category>Asynchronous</category>
      <category>Synchronous</category>
      <category>동기 뜻</category>
      <category>동기 코드</category>
      <category>동기식</category>
      <category>비동기 뜻</category>
      <category>비동기 코드</category>
      <category>비동기식</category>
      <category>프로그래밍</category>
      <category>프로그래밍 코딩</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/48</guid>
      <comments>https://withnicebamf.tistory.com/48#entry48comment</comments>
      <pubDate>Wed, 12 Mar 2025 07:00:44 +0900</pubDate>
    </item>
    <item>
      <title>[Javascript] 소수점 반올림, 올림, 내림, 버림 하는 방법 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/47</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;Math.round() 반올림 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;Math.ceil() 올림 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;Math.floor() 내림 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;Math.trunc() 버림 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;소수점 자릿수 반올림, 올림, 내림, 버림 하는 방법 &lt;/a&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;toFixed(n)을 활용한 방법 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_7&quot;&gt;Math.round()로 소수점 n번째 자리에서 반올림 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_8&quot;&gt;Math.ceil()로 소수점 n번째 자리에서 올림 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_9&quot;&gt;Math.floor()로 소수점 n번째 자리에서 내림 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_10&quot;&gt;Math.trunc()로 소수점 n번째 자리에서 버림 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;

&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;JavaScript에서는 Math 객체를 사용하여 소수점 처리를 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_1&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Math.round() 반올림&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Math.round()는 값을 &lt;strong&gt;소수점 첫째 자리에서 반올림&lt;/strong&gt;하여 정수로 변환합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt; 소수점 이하가 0.5 이상이면 올림, 0.5 미만이면 내림&lt;/p&gt;
&lt;pre id=&quot;code_1741669520824&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(Math.round(4.3)); // 4
console.log(Math.round(4.5)); // 5
console.log(Math.round(-4.5)); // -4 (0.5는 양수일 때 올리고, 음수일 때 내림)
console.log(Math.round(-4.6)); // -5&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_2&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Math.ceil() 올림&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Math.ceil()은 값을 &lt;strong&gt;소수점 첫째 자리에서 무조건 올림&lt;/strong&gt;하여 정수로 변환합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt; 무조건 큰 정수로 올림&lt;/p&gt;
&lt;pre id=&quot;code_1741669569444&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(Math.ceil(4.1)); // 5
console.log(Math.ceil(4.9)); // 5
console.log(Math.ceil(-4.1)); // -4 (음수도 올림, 즉 0에 가까워짐)
console.log(Math.ceil(-4.9)); // -4&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_3&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Math.floor() 내림&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Math.floor()은 값을 &lt;strong&gt;소수점 첫째 자리에서 무조건 내림&lt;/strong&gt;하여 정수로 변환합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt; 무조건 작은 정수로 내림&lt;/p&gt;
&lt;pre id=&quot;code_1741669649463&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(Math.floor(4.9)); // 4
console.log(Math.floor(4.1)); // 4
console.log(Math.floor(-4.1)); // -5 (음수도 내림, 즉 더 작은 정수)
console.log(Math.floor(-4.9)); // -5&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_4&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Math.trunc() 버림&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Math.trunc()는 값의 &lt;strong&gt;소수점을 제거하고 정수 부분만 남김&lt;/strong&gt; (소수점 이하를 잘라냄)&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt; 소수점을 무조건 제거하는 방식, 음수일 때 floor()와 차이 있음&lt;/p&gt;
&lt;pre id=&quot;code_1741669788752&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(Math.trunc(4.9)); // 4
console.log(Math.trunc(4.1)); // 4
console.log(Math.trunc(-4.9)); // -4
console.log(Math.trunc(-4.1)); // -4&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_5&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;소수점 자릿수 반올림, 올림, 내림, 버림 하는 방법&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;소수점 이하 n번째 자리에서 반올림, 올림, 내림, 버림하려면 10^n을 곱한 후 계산한 다음 다시 나눠주면 됩니다.&lt;/p&gt;
&lt;h3 id=&quot;move_list_6&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;toFixed(n)을 활용한 방법&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;toFixed(n)은 n번째 자리까지 반올림한 문자열을 반환합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741670094114&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log((4.5678).toFixed(2)); // &quot;4.57&quot;
console.log((4.5611).toFixed(2)); // &quot;4.56&quot;
console.log((-4.5678).toFixed(2)); // &quot;-4.57&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;toFixed(n)은 문자열을 반환하므로 숫자 계산을 하려면 Number()로 변환하여 사용해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741670146048&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;console.log(Number((4.5678).toFixed(2))); // 4.57&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_7&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Math.round()로 소수점 n번째 자리에서 반올림&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741670288897&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function roundToN(num, n) {
    return Math.round(num * 10**n) / 10**n;
}

console.log(roundToN(4.5678, 2)); // 4.57
console.log(roundToN(4.5611, 2)); // 4.56&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_8&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Math.ceil()로 소수점 n번째 자리에서 올림&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741670417809&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function ceilToN(num, n) {
    return Math.ceil(num * 10**n) / 10**n;
}

console.log(ceilToN(4.561, 2)); // 4.57
console.log(ceilToN(-4.561, 2)); // -4.56&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h3 id=&quot;move_list_9&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Math.floor()로 소수점 n번째 자리에서 내림&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741670428416&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function floorToN(num, n) {
    return Math.floor(num * 10**n) / 10**n;
}

console.log(floorToN(4.569, 2)); // 4.56
console.log(floorToN(-4.569, 2)); // -4.57&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h3 id=&quot;move_list_10&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Math.trunc()로 소수점 n번째 자리에서 버림&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741670438526&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;function truncToN(num, n) {
    return Math.trunc(num * 10**n) / 10**n;
}

console.log(truncToN(4.569, 2)); // 4.56
console.log(truncToN(-4.569, 2)); // -4.56&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Javascript</category>
      <category>JavaScript</category>
      <category>Math.ceil</category>
      <category>Math.floor</category>
      <category>Math.round</category>
      <category>Math.trunc</category>
      <category>소수점 내림</category>
      <category>소수점 반올림</category>
      <category>소수점 버림</category>
      <category>소수점 올림</category>
      <category>자바스크립트</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/47</guid>
      <comments>https://withnicebamf.tistory.com/47#entry47comment</comments>
      <pubDate>Tue, 11 Mar 2025 14:36:02 +0900</pubDate>
    </item>
    <item>
      <title>[Javascript] 날짜 비교하는 방법 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/46</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;Date 객체로 날짜 비교하기 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;getTime을 사용한 비교하기 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;날짜 차이 계산하기 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;특정 날짜가 오늘인지 확인하기 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;날짜 정렬 (배열 정렬) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;날짜 포맷 변환 (YYYY-MM-DD) &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;

&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;날짜 비교는 주로 &lt;strong&gt;Date 객체&lt;/strong&gt;를 사용하며, 시간 차이를 계산하거나 특정 날짜가 더 이전인지 이후인지 판별할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_1&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;Date 객체로 날짜 비교하기&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;JavaScript의 Date 객체를 사용하면 날짜와 시간을 쉽게 비교할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741581444864&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const date1 = new Date(&quot;2024-03-01&quot;); // 2024년 3월 1일
const date2 = new Date(&quot;2024-03-05&quot;); // 2024년 3월 5일

if (date1 &amp;lt; date2) {
  console.log(&quot;date1이 date2보다 이전 날짜입니다.&quot;);
} else if (date1 &amp;gt; date2) {
  console.log(&quot;date1이 date2보다 이후 날짜입니다.&quot;);
} else {
  console.log(&quot;두 날짜가 같습니다.&quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
  &lt;li&gt;&lt;strong&gt;비교 연산자 (&amp;lt;, &amp;gt;, ===)를 사용하여 날짜 비교 가능&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Date 객체는 &lt;strong&gt;숫자(타임스탬프)로 변환되므로 크기 비교가 가능&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;new Date(&quot;YYYY-MM-DD&quot;) 형식으로 날짜 객체를 생성 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_2&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;getTime을 사용한 비교하기&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;Date.getTime() 메서드를 사용하면 &lt;b&gt;밀리초(ms) 단위의 숫자로 변환&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741581553628&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const date1 = new Date(&quot;2024-03-01&quot;);
const date2 = new Date(&quot;2024-03-05&quot;);

if (date1.getTime() &amp;lt; date2.getTime()) {
  console.log(&quot;date1이 더 이전 날짜입니다.&quot;);
}&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;getTime()은 1970년 1월 1일부터 현재까지의 시간을 밀리초 단위로 반환.&lt;/li&gt;
&lt;li&gt;숫자로 변환되므로 비교가 더 정확하고 빠름.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_3&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;날짜 차이 계산하기&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;getTime()을 사용하면 &lt;b&gt;두 날짜 간 차이를 밀리초(ms) 단위로 계산&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741581631484&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const date1 = new Date(&quot;2024-03-01&quot;);
const date2 = new Date(&quot;2024-03-05&quot;);

const diffTime = date2.getTime() - date1.getTime(); // 밀리초 차이
const diffDays = diffTime / (1000 * 60 * 60 * 24); // 일(day) 단위로 변환

console.log(`두 날짜의 차이는 ${diffDays}일 입니다.`);&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1000 * 60 * 60 * 24로 나누면 일(day) 단위 차이를 얻을 수 있음.&lt;/li&gt;
&lt;li&gt;이 방법을 활용하면 특정 날짜가 몇 일 뒤인지 계산 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_4&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;특정 날짜가 오늘인지 확인하기&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741581756383&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const today = new Date();
const someDate = new Date(&quot;2024-03-06&quot;);

const isToday =
  today.toDateString() === someDate.toDateString(); // 날짜 문자열 비교

console.log(isToday ? &quot;오늘 날짜입니다.&quot; : &quot;오늘이 아닙니다.&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;toDateString()을 사용하면 &lt;b&gt;시간(시, 분, 초)은 무시하고 날짜만 비교&lt;/b&gt; 가능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_5&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;날짜 정렬 (배열 정렬)&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;배열 안에 날짜가 있을 때 &lt;b&gt;오름차순(과거 &amp;rarr; 미래) 또는 내림차순(미래 &amp;rarr; 과거) 정렬&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741581842608&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const dates = [
  new Date(&quot;2024-03-10&quot;),
  new Date(&quot;2024-03-05&quot;),
  new Date(&quot;2024-03-01&quot;),
];

// 오름차순 정렬 (과거 &amp;rarr; 미래)
dates.sort((a, b) =&amp;gt; a.getTime() - b.getTime());
console.log(dates);

// 내림차순 정렬 (미래 &amp;rarr; 과거)
dates.sort((a, b) =&amp;gt; b.getTime() - a.getTime());
console.log(dates);&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;sort()를 사용해 밀리초 단위로 정렬하면 날짜 정렬이 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_6&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;날짜 포맷 변환 (YYYY-MM-DD)&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;기본적으로 Date 객체를 출력하면 가독성이 좋지 않습니다. 따라서 toISOString() 또는 toLocaleDateString()을 사용해서 보기 좋은 형태로 변환할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741581912308&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const date = new Date(&quot;2024-03-06&quot;);

// YYYY-MM-DD 형식으로 변환
const formattedDate = date.toISOString().split(&quot;T&quot;)[0];
console.log(formattedDate); // &quot;2024-03-06&quot;

// 로컬 날짜 형식으로 변환 (한국 기준)
const localDate = date.toLocaleDateString(&quot;ko-KR&quot;);
console.log(localDate); // &quot;2024. 3. 6.&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;toISOString() &amp;rarr; &quot;YYYY-MM-DDTHH:mm:ss.sssZ&quot; 형태&lt;/li&gt;
&lt;li&gt;.split(&quot;T&quot;)[0]를 추가하면 YYYY-MM-DD 포맷&lt;/li&gt;
&lt;li&gt;toLocaleDateString(&quot;ko-KR&quot;) &amp;rarr; 한국 날짜 형식&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Javascript</category>
      <category>JavaScript</category>
      <category>JavaScript date</category>
      <category>javascript date format</category>
      <category>javascript 날짜 계산</category>
      <category>javascript 날짜 비교</category>
      <category>javascript 날짜 포맷 변환</category>
      <category>자바스크립트</category>
      <category>자바스크립트 날짜</category>
      <category>자바스크립트 날짜 계산</category>
      <category>자바스크립트 날짜 포맷</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/46</guid>
      <comments>https://withnicebamf.tistory.com/46#entry46comment</comments>
      <pubDate>Tue, 11 Mar 2025 07:00:13 +0900</pubDate>
    </item>
    <item>
      <title>HTML &amp;lt;a&amp;gt; 태그 링크 사용법 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/45</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;HTML &amp;lt;a&amp;gt; 태그란? &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;기본 문법 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;&amp;lt;a&amp;gt;태그 주요 속성 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;사용 예제 &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;기본 링크 예제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;새 창(탭)에서 열기 (target=&quot;_blank&quot;) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_7&quot;&gt;이메일/전화번호 링크 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_8&quot;&gt;파일 다운로드 링크 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_9&quot;&gt;이미지 링크 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_10&quot;&gt;페이지 내부 이동 (앵커 링크) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_11&quot;&gt;버튼 스타일의 링크 (CSS 활용) &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_12&quot;&gt;&amp;lt;a&amp;gt;태그 사용 시 주의 사항 &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;

&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_1&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;HTML &amp;lt;a&amp;gt; 태그란?&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;HTML &amp;lt;a&amp;gt; 태그는 &lt;strong&gt;&quot;하이퍼링크(hyperlink)&quot;를 생성하는 태그&lt;/strong&gt;입니다. 웹페이지에서 다른 페이지, 파일, 이메일, 전화번호 등으로 이동할 때 사용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_2&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;기본 문법&lt;/strong&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1741528261960&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;이동할_주소&quot;&amp;gt;텍스트 또는 이미지&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;href 속성: 이동할 URL을 지정하는 필수 속성입니다.&lt;/li&gt;
&lt;li&gt;&amp;lt;a&amp;gt; 태그 안에는 &lt;b&gt;텍스트 또는 이미지&lt;/b&gt;를 넣을 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_3&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;&amp;lt;a&amp;gt;태그 주요 속성&lt;/strong&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 108px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;속성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;href&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 20px;&quot;&gt;이동할 링크 주소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;b&gt;target&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;링크 열기 방식 지정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;b&gt;rel&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;보안 및 SEO 관련 관계 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;b&gt;download&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;파일 다운로드 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;b&gt;title&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px;&quot;&gt;마우스 올릴 때 툴팁 표시&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_4&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;사용 예제&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&quot;move_list_5&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;기본 링크 예제&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741528433047&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;https://www.naver.com&quot;&amp;gt;네이버로 이동&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클릭하면 네이버 홈페이지로 이동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_6&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;새 창(탭)에서 열기 (target=&quot;_blank&quot;)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741528488492&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;https://www.google.com&quot; target=&quot;_blank&quot;&amp;gt;구글 새 창에서 열기&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;target=&quot;_blank&quot;: &lt;b&gt;새 창(새 탭)에서 링크를 엽니다.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;보안상 rel=&quot;noopener noreferrer&quot;를 같이 쓰는 것이 좋습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1741528531494&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;https://www.google.com&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&amp;gt;구글&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_7&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;이메일/전화번호 링크&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이메일이나 전화번호를 클릭하면 해당 앱이 실행됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;  이메일 보내기:&lt;/p&gt;
&lt;pre id=&quot;code_1741528642308&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;mailto:someone@example.com&quot;&amp;gt;이메일 보내기&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;  전화 걸기:&lt;/p&gt;
&lt;pre id=&quot;code_1741528652333&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;tel:+821012345678&quot;&amp;gt;전화 걸기&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mailto: 이메일 앱 실행&lt;/li&gt;
&lt;li&gt;tel: 스마트폰에서 전화 앱 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_8&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;파일 다운로드 링크&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741528710814&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;sample.pdf&quot; download&amp;gt;PDF 파일 다운로드&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;download 속성을 사용하면 클릭 시 &lt;b&gt;파일을 다운로드&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_9&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;이미지 링크&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741528740349&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;https://example.com&quot;&amp;gt;
  &amp;lt;img src=&quot;image.jpg&quot; alt=&quot;이미지 링크&quot;&amp;gt;
&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이미지를 클릭하면 링크로 이동&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_10&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;페이지 내부 이동 (앵커 링크)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741528818454&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;#section2&quot;&amp;gt;섹션 2로 이동&amp;lt;/a&amp;gt;

&amp;lt;h2 id=&quot;section2&quot;&amp;gt;여기가 섹션 2&amp;lt;/h2&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;href=&quot;#id명&quot;: &lt;b&gt;같은 페이지 내 특정 위치로 이동 &lt;/b&gt;&lt;/li&gt;
&lt;li&gt;id=&quot;section2&quot;인 요소로 스크롤 이동&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h3 id=&quot;move_list_11&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;버튼 스타일의 링크 (CSS 활용)&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741528931570&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;a href=&quot;https://example.com&quot; class=&quot;btn&quot;&amp;gt;클릭하세요&amp;lt;/a&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1741528941543&quot; class=&quot;css&quot; data-ke-language=&quot;css&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;.btn {
  display: inline-block;
  padding: 10px 20px;
  background-color: blue;
  color: white;
  text-decoration: none;
  border-radius: 5px;
}
.btn:hover {
  background-color: darkblue;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CSS를 적용하여 &amp;lt;a&amp;gt; 태그를 &lt;b&gt;버튼처럼 보이게 변경&lt;/b&gt;할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_12&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;&amp;lt;a&amp;gt;태그 사용 시 주의 사항&lt;/strong&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;href=&quot;#&quot; 사용 주의&lt;/b&gt; &amp;rarr; 아무 동작 없이 페이지 최상단으로 이동할 수 있음. (동작을 막으려면 event.preventDefault(); 사용)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SEO(검색 엔진 최적화)&lt;/b&gt; &amp;rarr; rel=&quot;nofollow&quot;를 사용하면 검색엔진이 링크를 따라가지 않음.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보안 문제&lt;/b&gt; &amp;rarr; target=&quot;_blank&quot; 사용할 때 rel=&quot;noopener noreferrer&quot; 함께 사용.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>HTML</category>
      <category>a태그</category>
      <category>a태그 사용법</category>
      <category>a태그 속성</category>
      <category>HTML</category>
      <category>html a attribute</category>
      <category>html a tag</category>
      <category>html a태그</category>
      <category>새 창 열기</category>
      <category>웹 프로그래밍</category>
      <category>웹 프로그래밍 기초</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/45</guid>
      <comments>https://withnicebamf.tistory.com/45#entry45comment</comments>
      <pubDate>Mon, 10 Mar 2025 17:00:58 +0900</pubDate>
    </item>
    <item>
      <title>[jQuery] $(document).ready() vs window.onload 차이 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/43</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;$(document).ready() vs window.onload 차이점 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;실행 순서 예제 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;$(document).ready() vs window.onload 실행 흐름 비교 &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;웹 페이지 로딩 과정 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;언제 사용해야 할까? &lt;/a&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;window.onload가 더 적합한 경우 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_7&quot;&gt;$(document).ready()가 더 적합한 경우 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_8&quot;&gt;사용 TIP &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_1&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;$(document).ready() vs window.onload 차이점&lt;/strong&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 21.0077%; text-align: center;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 37.7519%; text-align: center;&quot;&gt;&lt;strong&gt;$(document).ready()&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.2403%; text-align: center;&quot;&gt;&lt;strong&gt;window.onload&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 21.0077%; text-align: center;&quot;&gt;실행 시점&lt;/td&gt;
&lt;td style=&quot;width: 37.7519%;&quot;&gt;DOM(Document Object Model)이 &lt;strong&gt;완전히 로드되면 실행&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;width: 41.2403%;&quot;&gt;페이지의 모든 리소스(HTML, CSS, 이미지, 스크립트 등)가 &lt;strong&gt;모두 로드된 후 실행&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 21.0077%; text-align: center;&quot;&gt;속도&lt;/td&gt;
&lt;td style=&quot;width: 37.7519%;&quot;&gt;빠름 (HTML만 로드되면 실행)&lt;/td&gt;
&lt;td style=&quot;width: 41.2403%;&quot;&gt;상대적으로 느림 (이미지, 스타일시트 등 모든 요소 로드 후 실행)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 21.0077%; text-align: center;&quot;&gt;사용 예시&lt;/td&gt;
&lt;td style=&quot;width: 37.7519%;&quot;&gt;DOM 조작, 이벤트 바인딩&lt;/td&gt;
&lt;td style=&quot;width: 41.2403%;&quot;&gt;전체 페이지 로드 후 실행해야 하는 작업 (예: 모든 이미지 로딩 후 실행)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_2&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;실행 순서 예제&lt;/strong&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1741526117033&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;script src=&quot;https://code.jquery.com/jquery-3.6.0.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script&amp;gt;
        $(document).ready(function() {
            console.log(&quot;$(document).ready() 실행!&quot;);
        });

        window.onload = function() {
            console.log(&quot;window.onload 실행!&quot;);
        };
    &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Hello, jQuery!&amp;lt;/h1&amp;gt;
    &amp;lt;img src=&quot;https://tistory1.daumcdn.net/tistory/7291623/attach/d3600c083a6348eabb7e915ef051fa8e&quot; alt=&quot;이미지 로드 테스트&quot;&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;  실행 결과:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;onload순서.jpg&quot; data-origin-width=&quot;193&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Bd8dp/btsMEBGBC0z/QN2Oc6kdCJLgzATqIAO7zK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Bd8dp/btsMEBGBC0z/QN2Oc6kdCJLgzATqIAO7zK/img.jpg&quot; data-alt=&quot;이벤트 실행 순서&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Bd8dp/btsMEBGBC0z/QN2Oc6kdCJLgzATqIAO7zK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBd8dp%2FbtsMEBGBC0z%2FQN2Oc6kdCJLgzATqIAO7zK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;이벤트 실행 순서&quot; loading=&quot;lazy&quot; width=&quot;190&quot; height=&quot;66&quot; data-filename=&quot;onload순서.jpg&quot; data-origin-width=&quot;193&quot; data-origin-height=&quot;67&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이벤트 실행 순서&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;strong&gt;$(document).ready()가 먼저 실행&lt;/strong&gt;되고, 이후 &lt;strong&gt;이미지까지 모두 로드된 후 window.onload가 실행&lt;/strong&gt;되는 걸 확인할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_3&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;$(document).ready() vs window.onload 실행 흐름 비교&lt;/strong&gt;&lt;/h2&gt;
&lt;h3 id=&quot;move_list_4&quot; style=&quot;border-left: 10px solid #F361A6; border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;웹 페이지 로딩 과정&lt;/strong&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;HTML 파일이 다운로드됨.&lt;/li&gt;
&lt;li&gt;브라우저가 HTML을 해석하며 DOM을 생성함.&lt;/li&gt;
&lt;li&gt;&lt;b&gt; $(document).ready() 실행&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;CSS, 이미지, 외부 스크립트 파일 로딩이 완료됨.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;window.onload 실행!&lt;/b&gt; (모든 요소가 로드된 후 실행)&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_5&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;언제 사용해야 할까?&lt;/strong&gt;&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 100px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;상황&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;$(document).ready()&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px; text-align: center;&quot;&gt;&lt;b&gt;window.onload&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;b&gt; DOM 조작이 필요할 때 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;사용 (HTML만 로드되면 실행 가능)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;불필요하게 느림&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;b&gt; 이미지 크기 조절 후 조작할 때 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;이미지가 아직 로드되지 않을 수 있음&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;모든 이미지 로드 후 실행 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;b&gt; 전체 리소스 로드 후 실행할 때 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;필요 없음&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;사용 (예: 로딩 화면 제거)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;&lt;b&gt; 버튼 클릭 이벤트 등록할 때 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;사용&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 20px;&quot;&gt;불필요하게 늦음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h3 id=&quot;move_list_6&quot; style=&quot;border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;  window.onload가 더 적합한 경우&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 모든 이미지가 로드된 이후에 크기 조정할 때:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741526885301&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;window.onload = function() {
    let img = document.getElementById(&quot;myImage&quot;);
    console.log(&quot;이미지 너비:&quot;, img.width);
};&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt; window.onload&lt;/span&gt;는 &lt;b&gt;모든 이미지가 로드된 후 실행&lt;/b&gt;되므로 이미지 크기를 정확하게 측정할 수 있습니다. 반면, &lt;span style=&quot;color: #ef5369;&quot;&gt;$(document).ready()&lt;/span&gt;를 사용하면 &lt;b&gt;이미지가 아직 로드되지 않았을 수도 있어서 예상과 다른 크기&lt;/b&gt;가 나올 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 id=&quot;move_list_7&quot; style=&quot;border-bottom: 1px solid #F361A6; font-weight: 550; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;  $(document).ready()가 더 적합한 경우&lt;/strong&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 버튼 클릭 이벤트 등록할 때:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741527038407&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(document).ready(function() {
    $(&quot;#btn&quot;).click(function() {
        alert(&quot;버튼 클릭!&quot;);
    });
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt; $(document).ready()&lt;/span&gt;는 &lt;b&gt;DOM이 준비되면 바로 실행&lt;/b&gt;되므로, 버튼 이벤트 등록을 빠르게 할 수 있습니다. 반면, &lt;span style=&quot;color: #ef5369;&quot;&gt;window.onload&lt;/span&gt;를 사용하면 &lt;b&gt;불필요하게 늦게 실행&lt;/b&gt;될 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_8&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;사용 TIP&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일반적으로 DOM 조작이 필요한 경우 $(document).ready()를 사용하면 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;이미지 크기 조정&lt;/b&gt; 같은 작업이 필요하다면 window.onload를 사용하는 게 좋습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Jquery</category>
      <category>$().ready()</category>
      <category>$(document).ready()</category>
      <category>jQuery</category>
      <category>jquery loaded event</category>
      <category>onload()</category>
      <category>ready()</category>
      <category>window.onload</category>
      <category>로드 이벤트 차이</category>
      <category>제이 쿼리</category>
      <category>페이지 로드 후</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/43</guid>
      <comments>https://withnicebamf.tistory.com/43#entry43comment</comments>
      <pubDate>Mon, 10 Mar 2025 12:00:51 +0900</pubDate>
    </item>
    <item>
      <title>[jQuery] $(document).ready() 개념과 사용법 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/42</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;$(document).ready()란? &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;기본 사용법 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;왜 $(document).ready()가 필요할까? &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;$(document).ready()는 중복 실행 가능한가? &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;$(document).ready() 없이 사용하는 방법 &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;

&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_1&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;$(document).ready()란?&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;$(document).ready()는 &lt;strong&gt;HTML 문서가 완전히 로드되고 DOM이 준비된 후 실행되는 이벤트&lt;/strong&gt;입니다. 즉, 웹 페이지의 요소들이 모두 불러와진 뒤에 JavaScript 코드를 실행할 수 있도록 도와줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_2&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;기본 사용법&lt;/strong&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1741524809753&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(document).ready(function() {
    // 실행할 코드
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt; ✅ 간략하게 줄여서 사용하는 방법:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741524822797&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(function() {
    // 실행할 코드
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id=&quot;move_list_3&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;왜 $(document).ready()가 필요할까?&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 $(document).ready() 없이 jQuery 코드를 작성하면, DOM 요소가 아직 로드되기 전에 스크립트가 실행될 수 있습니다. 예를 들어, &amp;lt;script&amp;gt; 태그가 &amp;lt;body&amp;gt;의 &amp;lt;div&amp;gt;보다 먼저 실행되면 jQuery가 요소를 찾지 못할 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;❌ 잘못된 코드 (아직 DOM이 로드되지 않음)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741524965249&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;script src=&quot;https://code.jquery.com/jquery-3.6.0.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script&amp;gt;
        $(&quot;#btn&quot;).click(function() {
            alert(&quot;버튼 클릭!&quot;);
        });
    &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;button id=&quot;btn&quot;&amp;gt;클릭&amp;lt;/button&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 올바른 코드 ($(document).ready() 사용)&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741525012221&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;script src=&quot;https://code.jquery.com/jquery-3.6.0.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script&amp;gt;
        $(document).ready(function() {
            $(&quot;#btn&quot;).click(function() {
                alert(&quot;버튼 클릭!&quot;);
            });
        });
    &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;button id=&quot;btn&quot;&amp;gt;클릭&amp;lt;/button&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_4&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;$(document).ready()는 중복 실행 가능한가?&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;같은 페이지에서 여러 개의 $(document).ready()를 작성하면 순서대로 모두 실행됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741525166379&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(document).ready(function() {
    console.log(&quot;첫 번째 ready 실행!&quot;);
});

$(document).ready(function() {
    console.log(&quot;두 번째 ready 실행!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 id=&quot;move_list_5&quot; style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;strong&gt;$(document).ready() 없이 사용하는 방법&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;만약 &amp;lt;script&amp;gt; 태그를 &amp;lt;/body&amp;gt; 태그 바로 위에 두면 $(document).ready() 없이도 동작할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741525239615&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ko&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;script src=&quot;https://code.jquery.com/jquery-3.6.0.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;button id=&quot;btn&quot;&amp;gt;클릭&amp;lt;/button&amp;gt;

    &amp;lt;script&amp;gt;
        $(&quot;#btn&quot;).click(function() {
            alert(&quot;버튼 클릭!&quot;);
        });
    &amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 하면 브라우저가 &amp;lt;script&amp;gt;를 실행할 때 이미 DOM이 완전히 로드된 상태이므로 문제없이 작동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Jquery</category>
      <category>$(document).ready()</category>
      <category>jQuery</category>
      <category>jquery loaded event</category>
      <category>jquery 로드 이벤트</category>
      <category>jquery 로드 후 실행</category>
      <category>jquery 로드 후 이벤트</category>
      <category>jquery 이벤트 사용법</category>
      <category>jquery 페이지 로드 이벤트</category>
      <category>제이 쿼리</category>
      <category>제이쿼리 페이지 로드 후</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/42</guid>
      <comments>https://withnicebamf.tistory.com/42#entry42comment</comments>
      <pubDate>Mon, 10 Mar 2025 07:00:05 +0900</pubDate>
    </item>
    <item>
      <title>[jQuery] 마우스 더블 클릭 이벤트의 모든 것 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/41</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;기본 사용법 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;on() 메서드를 사용한 이벤트 바인딩 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;dblclick 이벤트 제거 (off()) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;기본 동작 막기 (preventDefault()) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;이벤트 전파 막기 (stopPropagation()) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;this 키워드 활용 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_7&quot;&gt;클릭 이벤트 한 번만 실행하기 (one()) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_8&quot;&gt;dblclick() 메서드를 사용하여 강제 클릭 &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;

&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;dblclick 이벤트는 사용자가 요소를 &lt;strong&gt;더블 클릭(빠르게 두 번 클릭)&lt;/strong&gt; 했을 때 실행되는 이벤트입니다. 주로 특정 동작을 빠르게 실행하거나, 한 번의 클릭과 구분되는 기능을 만들 때 사용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_1&quot;&gt;&lt;strong&gt;기본 사용법&lt;/strong&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1741505589467&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(selector).dblclick(function() {
    // 실행할 코드
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 버튼 더블 클릭 시 알림창 띄우는 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741505649391&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;#btn&quot;).dblclick(function() {
    alert(&quot;버튼이 더블 클릭되었습니다!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 코드를 실행하면 #btn 버튼을 두 번 빠르게 클릭했을 때 경고창이 뜨게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_2&quot;&gt;&lt;strong&gt;on() 메서드를 사용한 이벤트 바인딩&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;동적으로 생성된 요소에도 dblclick 이벤트를 적용하려면 .on() 메서드를 사용해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741505721569&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(parentSelector).on(&quot;dblclick&quot;, childSelector, function() {
    // 실행할 코드
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 동적으로 추가된 버튼에도 더블 클릭 이벤트 적용 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741505772966&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(document).on(&quot;dblclick&quot;, &quot;.dynamic-btn&quot;, function() {
    alert(&quot;동적으로 생성된 버튼이 더블 클릭되었습니다!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 하면 페이지 로드 후 새로 추가된 .dynamic-btn 요소에도 dblclick 이벤트가 적용됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_3&quot;&gt;&lt;strong&gt;dblclick 이벤트 제거 (off())&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;등록한 dblclick 이벤트를 제거하려면 .off(&quot;dblclick&quot;)을 사용하면 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741505841111&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(selector).off(&quot;dblclick&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 버튼에서 더블 클릭 이벤트 제거하는 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741505873506&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;#btn&quot;).off(&quot;dblclick&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 하면 #btn에 등록된 dblclick 이벤트가 제거되어 더블 클릭해도 반응하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_4&quot;&gt;&lt;strong&gt;기본 동작 막기 (preventDefault())&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;일반적으로 dblclick 이벤트는 기본 동작이 없지만, &amp;lt;a&amp;gt; 태그처럼 기본 동작이 있는 요소에서는 방지할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741505957373&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;a&quot;).dblclick(function(event) {
    event.preventDefault(); // 링크 이동 방지
    alert(&quot;링크 더블 클릭이 방지되었습니다!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_5&quot;&gt;&lt;strong&gt;이벤트 전파 막기 (stopPropagation())&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;dblclick 이벤트가 부모 요소로 전파되는 걸 막으려면 &lt;strong&gt;stopPropagation()&lt;/strong&gt;을 사용하면 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741506009207&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;.child&quot;).dblclick(function(event) {
    event.stopPropagation(); // 부모 요소로 이벤트 전달 방지
    alert(&quot;자식 요소 더블 클릭!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1741506017063&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;.parent&quot;).dblclick(function() {
    alert(&quot;부모 요소 더블 클릭!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 코드에서 .child를 더블 클릭하면 .parent의 dblclick 이벤트는 실행되지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ stopPropagation() 이해를 돕는 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741506626591&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
  &amp;lt;script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script&amp;gt;
	$(document).ready(function() {
		$(&quot;.child&quot;).dblclick(function(event) {
		    event.stopPropagation(); // 부모 요소로 이벤트 전달 방지
		    alert(&quot;자식 요소 더블 클릭!&quot;);
		});

		$(&quot;.parent&quot;).dblclick(function() {
		    alert(&quot;부모 요소 더블 클릭!&quot;);
		});
	});
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;div class=&quot;parent&quot; style=&quot;width: 200px;height: 200px;background-color:green;&quot;&amp;gt;
		&amp;lt;div class=&quot;child&quot; style=&quot;width: 100px;height: 100px;background-color:yellow;&quot;&amp;gt;&amp;lt;/div&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;  실행 결과:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;dblclick_stopPropagation.jpg&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;210&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FYZ31/btsMEWp0CsX/8UxpGDaVoEOJVj8O7n1kt0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FYZ31/btsMEWp0CsX/8UxpGDaVoEOJVj8O7n1kt0/img.jpg&quot; data-alt=&quot;jquery dblclick stopPropagation example&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FYZ31/btsMEWp0CsX/8UxpGDaVoEOJVj8O7n1kt0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFYZ31%2FbtsMEWp0CsX%2F8UxpGDaVoEOJVj8O7n1kt0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;jquery dblclick stopPropagation example&quot; loading=&quot;lazy&quot; width=&quot;210&quot; height=&quot;208&quot; data-filename=&quot;dblclick_stopPropagation.jpg&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;210&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;jquery dblclick stopPropagation example&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 예제를 실행하면 부모 영역(초록색) 안에 자식 영역(노란색)을 포함하고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;stopPropagation() 메서드를 사용하지 않았다면 부모 영역을 더블 클릭했을 경우에는 .parent에 적용되어 있는 더블 클릭 이벤트가 실행되고, 자식 영역을 더블 클릭했을 경우에는 .child에 적용되어 있는 더블 클릭 이벤트가 실행되고 .parent 영역의 더블 클릭 이벤트가 차례대로 실행될 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;따라서 자식 영역(노란색)을 더블 클릭했을 때 .child의 더블 클릭 이벤트만 실행하고 싶다면 stopPropagtion() 메서드를 사용하면 됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_6&quot;&gt;&lt;strong&gt;this 키워드 활용&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;this를 사용하면 더블 클릭된 요소를 가리킬 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741506114267&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;.item&quot;).dblclick(function() {
    $(this).css(&quot;background-color&quot;, &quot;yellow&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 하면 .item 요소를 더블 클릭했을 때 해당 요소의 배경색이 노란색으로 변경됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_7&quot;&gt;&lt;strong&gt;클릭 이벤트 한 번만 실행하기 (one())&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;한 번만 실행되도록 하려면 .one()을 사용할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741506198564&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;#btn&quot;).one(&quot;dblclick&quot;, function() {
    alert(&quot;이 버튼은 한 번만 더블 클릭할 수 있습니다!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 하면 #btn 버튼을 한 번 더블 클릭한 후에는 다시 더블 클릭해도 반응하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_8&quot;&gt;&lt;strong&gt;dblclick() 메서드를 사용하여 강제 클릭&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;dblclick()을 호출하면 실제로 더블 클릭하지 않아도 이벤트를 실행할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741506297546&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;#btn&quot;).dblclick();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위 코드를 실행하면 #btn 요소의 dblclick 이벤트가 강제로 실행됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Jquery</category>
      <category>dblclick함수</category>
      <category>jQuery</category>
      <category>jquery dblclick</category>
      <category>jquery dblclick event</category>
      <category>jQuery Event</category>
      <category>더블 클릭 시 실행</category>
      <category>더블클릭이벤트</category>
      <category>마우스 더블 클릭 이벤트</category>
      <category>제이쿼리</category>
      <category>제이쿼리 더블 클릭</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/41</guid>
      <comments>https://withnicebamf.tistory.com/41#entry41comment</comments>
      <pubDate>Sun, 9 Mar 2025 17:08:54 +0900</pubDate>
    </item>
    <item>
      <title>[jQuery] click 이벤트 활용의 모든 것 갓벽 가이드</title>
      <link>https://withnicebamf.tistory.com/40</link>
      <description>&lt;aside id=&quot;jh_container&quot; style=&quot;margin: 30px 0px 30px 0px; padding: 20px 20px 10px 15px; border: 1px solid #dadada; background-color: #fff;&quot;&gt;
&lt;ol&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_1&quot;&gt;기본 사용법 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_2&quot;&gt;on() 메서드를 사용한 이벤트 바인딩 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_3&quot;&gt;클릭 이벤트 제거 (off()) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_4&quot;&gt;기본 동작 막기 (preventDefault()) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_5&quot;&gt;이벤트 전파 막기 (stopPropagation()) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_6&quot;&gt;this 키워드 활용하기 &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_7&quot;&gt;클릭 이벤트 한 번만 실행하기 (one()) &lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-left: 1em;&quot;&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;#move_list_8&quot;&gt;.click() 메서드를 사용하여 강제 클릭 &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/aside&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;jQuery의 click 이벤트는 &lt;strong&gt;사용자가 요소를 클릭했을 때 실행되는 이벤트&lt;/strong&gt;입니다. 클릭 이벤트를 활용하면 버튼, 링크, 이미지 등 다양한 요소에 대한 사용자 인터랙션을 쉽게 구현할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_1&quot;&gt;&lt;strong&gt;기본 사용법&lt;/strong&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1741406582748&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(selector).click(function() {
    // 실행할 코드
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 버튼 클릭 시 알림창 띄우는 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741406724180&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;#btn&quot;).click(function() {
    alert(&quot;버튼이 클릭되었습니다!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_2&quot;&gt;&lt;strong&gt;on() 메서드를 사용한 이벤트 바인딩&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;동적으로 생성된 요소에도 이벤트를 적용하려면 .on() 메서드를 사용해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741406653508&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(parentSelector).on(&quot;click&quot;, childSelector, function() {
    // 실행할 코드
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 동적으로 생성된 버튼에 클릭 이벤트 적용하는 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741406804183&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(document).on(&quot;click&quot;, &quot;.dynamic-btn&quot;, function() {
    alert(&quot;동적으로 생성된 버튼이 클릭되었습니다!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_3&quot;&gt;&lt;strong&gt;클릭 이벤트 제거 (off())&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;등록한 click 이벤트를 제거하려면 .off(&quot;click&quot;)을 사용해야 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741406866803&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(selector).off(&quot;click&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ 버튼 클릭 이벤트 제거하는 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741406875358&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;#btn&quot;).off(&quot;click&quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_4&quot;&gt;&lt;strong&gt;기본 동작 막기 (preventDefault())&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;preventDefault()는 &amp;lt;a&amp;gt; 태그처럼 기본적으로 수행되는 동작을 막고 싶을 때 사용합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741406982882&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;a&quot;).click(function(event) {
    event.preventDefault(); // 링크 이동 방지
    alert(&quot;링크 클릭이 방지되었습니다!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_5&quot;&gt;&lt;strong&gt;이벤트 전파 막기 (stopPropagation())&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;stopPropagation()은 클릭 이벤트가 부모 요소로 전파되는 걸 막아주는 기능을 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741407053148&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;.child&quot;).click(function(event) {
    event.stopPropagation(); // 부모 요소로 이벤트 전달 방지
    alert(&quot;자식 요소 클릭!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1741407060590&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;.parent&quot;).click(function() {
    alert(&quot;부모 요소 클릭!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;✅ stopPropagation() 이해를 돕는 예제 코드:&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1741407467137&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
  &amp;lt;script src=&quot;https://code.jquery.com/jquery-3.7.1.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script&amp;gt;
	$(document).ready(function() {
		$(&quot;.child&quot;).click(function(event) {
		    //event.stopPropagation(); // 부모 요소로 이벤트 전달 방지
		    alert(&quot;자식 요소 클릭!&quot;);
		});

		$(&quot;.parent&quot;).click(function() {
		    alert(&quot;부모 요소 클릭!&quot;);
		});
	});
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
	&amp;lt;div class=&quot;parent&quot; style=&quot;width: 200px;height: 200px;background-color:red;&quot;&amp;gt;
		&amp;lt;div class=&quot;child&quot; style=&quot;width: 100px;height: 100px;background-color:blue;&quot;&amp;gt;&amp;lt;/div&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;  실행 결과:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;stopPropagationExample.jpg&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;217&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7533k/btsME8Q6bjE/myHyknPWM3pR2UWc1fKSh0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7533k/btsME8Q6bjE/myHyknPWM3pR2UWc1fKSh0/img.jpg&quot; data-alt=&quot;stopPropagation() 메서드 이해를 돕는 출력 예제&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7533k/btsME8Q6bjE/myHyknPWM3pR2UWc1fKSh0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7533k%2FbtsME8Q6bjE%2FmyHyknPWM3pR2UWc1fKSh0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; alt=&quot;stopPropagation() 메서드 이해를 돕는 출력 예제&quot; loading=&quot;lazy&quot; width=&quot;215&quot; height=&quot;217&quot; data-filename=&quot;stopPropagationExample.jpg&quot; data-origin-width=&quot;215&quot; data-origin-height=&quot;217&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;stopPropagation() 메서드 이해를 돕는 출력 예제&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 예제 코드를 실행하면 부모 요소인 빨간 영역 안에 파란 영역 자식 요소가 포함 되어 있는 형태로 출력이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 빨간색 부분을 클릭하게 되면 부모 영역의 클릭 이벤트만 실행되겠지만 파란색을 클릭하게 되면 자식 영역의 클릭 이벤트가 실행되고 이어서 부모 영역 클릭 이벤트도 실행됩니다. 따라서 부모 영역의 클릭 이벤트는 실행하지 않고 자식 영역의 클릭 이벤트 내용만 실행하고 싶은 경우에 stopPropagation() 메서드를 사용하시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ef5369;&quot;&gt;즉, stopPropagation()을 사용하면 .child를 클릭해도 .parent의 이벤트는 실행되지 않습니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_6&quot;&gt;&lt;strong&gt;this 키워드 활용하기&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;this를 사용하면 클릭된 요소 자신을 가리킬 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741407875802&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;.item&quot;).click(function() {
    $(this).css(&quot;background-color&quot;, &quot;yellow&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;위의 코드는 .item을 클릭하면 해당 요소의 배경색이 노란색으로 변경됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-Hk7h8TWKCmrunqqu&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_7&quot;&gt;&lt;strong&gt;클릭 이벤트 한 번만 실행하기 (one())&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;클릭 이벤트를 한 번만 실행하고 싶으면 .one() 메서드를 사용하면 됩니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741407999556&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;#btn&quot;).one(&quot;click&quot;, function() {
    alert(&quot;이 버튼은 한 번만 클릭할 수 있습니다!&quot;);
});&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이 버튼을 클릭하면 한 번만 실행되고 이후에는 클릭해도 반응하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-cGWTV2ibqJiftYDW&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;
&lt;h2 style=&quot;border-left: 10px solid #A566FF; border-bottom: 1px solid #A566FF; font-weight: 600; padding-left: 10px; color: #262d40;&quot; data-ke-size=&quot;size16&quot; id=&quot;move_list_8&quot;&gt;&lt;strong&gt;.click() 메서드를 사용하여 강제 클릭&lt;/strong&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;클릭 이벤트를 강제로 실행하고 싶을 때 .click()을 호출할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1741408125452&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;$(&quot;#btn&quot;).click();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;이렇게 하면 #btn이 실제로 클릭되지 않아도 클릭 이벤트가 실행됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align:center;&quot;&gt;
&lt;ins class=&quot;kakao_ad_area&quot; style=&quot;display:none;&quot;
data-ad-unit = &quot;DAN-ADMz8kcesLRkq35i&quot;
data-ad-width = &quot;300&quot;
data-ad-height = &quot;250&quot;&gt;&lt;/ins&gt;
&lt;/p&gt;</description>
      <category>Jquery</category>
      <category>click() 함수</category>
      <category>jQuery</category>
      <category>jquery click event</category>
      <category>jquery this</category>
      <category>jquery 이벤트 제거</category>
      <category>preventdefault</category>
      <category>stoppropagation</category>
      <category>제이 쿼리</category>
      <category>제이쿼리 클릭 이벤트</category>
      <category>클릭 이벤트 막기</category>
      <author>코즐</author>
      <guid isPermaLink="true">https://withnicebamf.tistory.com/40</guid>
      <comments>https://withnicebamf.tistory.com/40#entry40comment</comments>
      <pubDate>Sat, 8 Mar 2025 13:36:05 +0900</pubDate>
    </item>
  </channel>
</rss>