Comments (3)
This comes down to stylistic preference. I personally for example want to use const
for components that only have readonly props. Or I prefer to use const
for $derived
because for me it better communicates that this is a readonly value, not necessarily that the value itself never changes.
We shouldn't be in the business of dictating these preferences, therefore closing.
from svelte.
You think about it that way, I think about it completely different. For me it's that I as the user am not allowed to reassign the derived value / the prop, not that the value doesn't change.
So yes this is absolutely stylistic preferences.
from svelte.
Javascript already has a muddy definition of const
but the following should impossible in javascript with const
const { value } = $props()
console.log(value) // 1
function doSomethingLater{
console.log(value) // 4
}
The const declaration creates an immutable reference to a value.
The variable identifier cannot be reassigned.
You should understand const declarations as "create a variable whose identity remains constant"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
Silently converting the behavior of const
to let
for signals doesn't feel like a stylistic preference to me.
from svelte.
Related Issues (20)
- Svelte 5: Reintroduce `frame`/`pos`/`toString()` in compiler warnings
- Svelte 5: Placeholder in select not displayed HOT 6
- Passing stateful arrays down with getters do not work on libraries HOT 1
- Svelte 5: Whitespace before the closing brace of `{#snippet}` will throw a parse error.
- Svelte 5: cannot use `@render` for $$slots HOT 7
- Low quality animation example HOT 6
- Svelte 5: Snippet Shorthand HOT 2
- Svelte 5: Mutating promise based arrays do not trigger updates HOT 7
- Svelte 5: Document $svelte.is(a,b) using Object.is(a,b). HOT 2
- Imported global styles apply differently in dev and build mode HOT 1
- Svelte 5 migration: erroneous `$state` declaration when `each` block present HOT 1
- Svelte 5 migration: event modifier transformer doesn't respect indentation HOT 2
- Svelte 5 migration: Transformed declarations with TS annotations cause broken output
- Svelte 4/5 incompatibility: exporting the same variable with two names breaks the export. HOT 2
- Addition assignment operator (+=) broken
- "node is null" when manipulating an array state in a Snippet HOT 4
- Styles are not removed after transition slide end HOT 1
- Svelte 5 migration: statements should be reordered
- Svelte 5: leaking private implementation details ($$events, $$slots) HOT 3
- Svelte 5: Snippets aren't deconflicted HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from svelte.