Как объявляются переменные в языках программирования?

«Как объявляются переменные в языках программирования?» — вопрос из категории Автоматизация тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Объявление переменных зависит от парадигмы и системы типов языка. Основные подходы:

1. Динамическая типизация (тип определяется в runtime):

# Python
name = "Alice"           # str
count = 42               # int
is_valid = True          # bool
items = []               # list
// JavaScript (ES6+)
let name = "Alice";      // Может быть переопределена
const age = 30;          // Константа, нельзя переопределить
var oldWay = true;       // Устаревшее объявление с функциональной областью видимости

2. Статическая типизация (тип указывается явно при компиляции):

// Java
String name = "Alice";   // Ссылочный тип
int age = 30;            // Примитивный тип
final boolean IS_ACTIVE = true; // Константа
// C#
string name = "Alice";
int age = 30;
bool isActive = true;

3. Контекст SQL (зависит от СУБД):

-- Microsoft SQL Server (T-SQL)
DECLARE @UserName NVARCHAR(50) = 'Alice';
DECLARE @UserId INT;
SET @UserId = 1;

Ключевые отличия:

  • Область видимости: Определяется ключевыми словами (let/const — блочная, var — функциональная в JS) или местом объявления.
  • Изменяемость: const/final создают константы, let/var — изменяемые переменные.
  • Инициализация: В некоторых языках (Java для локальных переменных) обязательна, в других — нет.