1 min read 84 words Updated Sep 24, 2026 Created Sep 24, 2026
#JavaScript#SvelteKit#statemanagement#svelte

Typing state variables

let status: 'OPEN' | 'CLSOED' = $state('OPEN')

state in functions

The state rune can be used anywhere - even in functions or classes.

<script>
  
  function counter() {
    let count = $state(0) 

    function getCount() {
      return count
    }
    
    function increment() {
      count = (count + 1)
    }

    function decrement() {
      count = (count - 1)
    }

    return {
    getCount,
    increment,
    decrement,
  };
  }

  const counterInstance = counter()
</script>

<div>
  <h1>Counter: {counterInstance.getCount()}</h1>
  <button onclick={counterInstance.increment}>Increment</button>
  <button onclick={counterInstance.decrement}>Decrement</button>
</div>