Svelte • Template syntax
{@debug ...}
The {@debug ...} tag offers an alternative to console.log(...). It logs the values of specific variables whenever they change, and pauses code execution if you have devtools open.
<script lang="ts">
let let user: {
firstname: string;
lastname: string;
}
user = {
firstname: stringfirstname: 'Ada',
lastname: stringlastname: 'Lovelace'
};
</script>
{@debug let user: {
firstname: string;
lastname: string;
}
user}
<h1>Hello {let user: {
firstname: string;
lastname: string;
}
user.firstname: stringfirstname}!</h1><script>
let let user: {
firstname: string;
lastname: string;
}
user = {
firstname: stringfirstname: 'Ada',
lastname: stringlastname: 'Lovelace'
};
</script>
{@debug let user: {
firstname: string;
lastname: string;
}
user}
<h1>Hello {let user: {
firstname: string;
lastname: string;
}
user.firstname: stringfirstname}!</h1>{@debug ...} accepts a comma-separated list of variable names (not arbitrary expressions).
<!-- Compiles -->
{@debug user}
{@debug user1, user2, user3}
<!-- WON'T compile -->
{@debug user.firstname}
{@debug myArray[0]}
{@debug !isReady}
{@debug typeof user === 'object'}The {@debug} tag without any arguments will insert a debugger statement that gets triggered when any state changes, as opposed to the specified variables.