Create syntax-nullish-coalescing-assignment.md#220
Open
consultart-artem wants to merge 1 commit into
Open
Conversation
Proposes adding ??= as a compound assignment operator that assigns only when the left-hand side is nil. Fills a gap in the existing compound assignment operator set (+=, -=, etc.). Addresses the common pattern of default value assignment where the or shorthand is unsafe for boolean values and the correct nil check form requires writing the variable path twice.
aatxe
reviewed
Jul 8, 2026
|
|
||
| ```lua | ||
| config.Enabled = config.Enabled == nil and true or config.Enabled | ||
| ``` |
Member
There was a problem hiding this comment.
in Luau, this would actually be written
config.Enabled = if config.Enabled == nil then true else config.Enabledwhich does still repeat config.Enabled, of course, but it feels very weird to use a programming pattern we do not recommend for conditional code in an RFC.
Contributor
|
Is there a reason its |
|
Will this run into the same problems safe navigation did? That is to say that Roblox userdata error on missing fields, rather than returning nil, making To potentially answer my own question, I think it might be more okay than safe navigation ended up, because |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposes adding ??= as a compound assignment operator that assigns only when the left-hand side is nil. Fills a gap in the existing compound assignment operator set (+=, -=, etc.). Addresses the common pattern of default value assignment where the or shorthand is unsafe for boolean values and the correct nil check form requires writing the variable path twice.