diff --git a/packages/svelte/src/compiler/utils/ast.js b/packages/svelte/src/compiler/utils/ast.js
index 304c97719a..241d74a04e 100644
--- a/packages/svelte/src/compiler/utils/ast.js
+++ b/packages/svelte/src/compiler/utils/ast.js
@@ -306,6 +306,9 @@ export function unwrap_ts_expression(node) {
}
/**
+ * Like `path.at(x)`, but skips over `TSNonNullExpression` and `TSAsExpression` nodes and eases assertions a bit
+ * by removing the `| undefined` from the resulting type.
+ *
* @template {import('#compiler').SvelteNode} T
* @param {T[]} path
* @param {number} at
diff --git a/packages/svelte/tests/runtime-runes/samples/typescript-as-expression/main.svelte b/packages/svelte/tests/runtime-runes/samples/typescript-as-expression/main.svelte
index d80746fda9..015c2d979d 100644
--- a/packages/svelte/tests/runtime-runes/samples/typescript-as-expression/main.svelte
+++ b/packages/svelte/tests/runtime-runes/samples/typescript-as-expression/main.svelte
@@ -1,6 +1,6 @@
-{count} {double}
+{count as number} {double as number}
diff --git a/packages/svelte/tests/runtime-runes/samples/typescript-non-null-expression/main.svelte b/packages/svelte/tests/runtime-runes/samples/typescript-non-null-expression/main.svelte
index b93d1e5ee8..e851a57828 100644
--- a/packages/svelte/tests/runtime-runes/samples/typescript-non-null-expression/main.svelte
+++ b/packages/svelte/tests/runtime-runes/samples/typescript-non-null-expression/main.svelte
@@ -1,6 +1,6 @@
-{count} {double}
+{count!} {double!}