diff --git a/getting_started/scripting/gdscript/gdscript_styleguide.rst b/getting_started/scripting/gdscript/gdscript_styleguide.rst index 9801b5849..1f3a9d5f0 100644 --- a/getting_started/scripting/gdscript/gdscript_styleguide.rst +++ b/getting_started/scripting/gdscript/gdscript_styleguide.rst @@ -818,6 +818,18 @@ should set the type explicitly. onready var health_bar: ProgressBar = get_node("UI/LifeBar") +Alternatively, you can use the ``as`` keyword to cast the return type, and +that type will be used to infer the type of the var. + +.. rst-class:: code-example-good + +:: + + onready var health_bar := get_node("UI/LifeBar") as ProgressBar + # health_bar will be typed as ProgressBar + +This option is also considered more :ref:`type-safe` than the first. + **Bad**: :: diff --git a/getting_started/scripting/gdscript/static_typing.rst b/getting_started/scripting/gdscript/static_typing.rst index 091beb62f..f24010e76 100644 --- a/getting_started/scripting/gdscript/static_typing.rst +++ b/getting_started/scripting/gdscript/static_typing.rst @@ -178,6 +178,8 @@ get full autocompletion on the player variable thanks to that cast. If you try to cast with a built-in type and it fails, Godot will throw an error. +.. _doc_gdscript_static_typing_safe_lines: + Safe lines ^^^^^^^^^^