Svelte

Svelte - Logic

eddie0329 2020. 12. 26. 22:57
λ°˜μ‘ν˜•

πŸ“Œ λͺ©λ‘

  • Introduction
  • Logic - if
  • Logic - else
  • Logic - else if
  • Conclusion
  • Reference

πŸ“Œ Introduction

μ•ˆλ…•ν•˜μ„Έμš”. μ˜€λŠ˜μ€ svelteμ—μ„œ μ–΄λ–»κ²Œ if, else if, else 같은 것듀을 μ–΄λ–»κ²Œ μ²˜λ¦¬ν•˜λŠ”μ§€μ— λŒ€ν•΄μ„œ ν•œλ²ˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

πŸ“Œ Logic - if

λ¨Όμ € κ°„λ‹¨ν•˜κ²Œ if에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ•„λž˜μ™€ 같은 λ°©μ‹μœΌλ‘œ 선언을 ν• μˆ˜ μžˆμ–΄μš”.

{#if}
{/if}

그럼 이제 ν•œλ²ˆ κ°„λ‹¨ν•˜κ²Œ countκ°€ 짝수 μΌλ•Œ count is evenμ΄λΌλŠ” 문ꡬλ₯Ό 좜λ ₯해보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.

<script>
  let count = 0;

  const onClickPlus = () => {
    count++;
  };
</script>

<h1>COUNT: {count}</h1>
{#if count % 2 === 0}
  <div>count is even</div>
{/if}

<button on:click={onClickPlus}>PLUS</button

πŸ“Œ Logic - else

그럼 이제 else에 λŒ€ν•΄μ„œ ν•œλ²ˆ μ•Œμ•„λ³΄κ³˜μŠ΅λ‹ˆλ‹€.

기본적인 문법은 μ΄λ ‡μŠ΅λ‹ˆλ‹€.

{#if}
{:else}⭐️
{/if}
<script>
  let count = 0;

  const onClickPlus = () => {
    count++;
  };
</script>

<h1>COUNT: {count}</h1>
{#if count % 2 === 0}
  <div>count is even</div>
{:else}
  <div>count is odd</div>
{/if}

<button on:click={onClickPlus}>PLUS</button>

πŸ“Œ Logic - else if

else if 도 비ꡐ적 μ‰¬μ›Œμš”

{#if}
{:else if} ⭐️
{:else}
{/if}

그럼 이제 ν•œλ²ˆ μ‚¬μš©ν•΄λ³ΌκΉŒμš”?

<script>
  let count = 0;

  const onClickPlus = () => {
    count++;
  };
</script>

<h1>COUNT: {count}</h1>
{#if count === 0}
  <div>count is zero</div>
{:else if count % 2}
  <div>count is odd</div>
{:else}
  <div>count is even</div>
{/if}

<button on:click={onClickPlus}>PLUS</button>

πŸ“Œ Conclusion

vue의 v-ifλ‚˜ v-else-if와 같은 것듀을 λΉ„μŠ·ν•˜κ²Œ λ”°μ˜¨κ±° κ°™μ•„μ„œ λ„ˆλ¬΄ 기뢄이 쒋은거 κ°™μ•„μš”. react적으둜 ν’€μ–΄λ‚Όμˆ˜λ„ μžˆμ—ˆκ² μ§€λ§Œ vue처럼 λ­”κ°€ 쒀더 직관적인 ν‚€μ›Œλ“œκ°€ μžˆμ–΄ 가독성도 쒀더 μ’‹μ•„μ§„κ±° κ°™μŠ΅λ‹ˆλ‹€. 그럼 λ‹€μŒ μ‹œκ°„μ—λŠ” 이제 v-for와 같은 것에 λŒ€ν•΄μ„œ ν•œλ²ˆ μ•Œμ•„λ³Όκ²Œμš”. 그럼 μ•ˆλ…•!

πŸ“Œ Reference

λ°˜μ‘ν˜•