🦀
Rustのシャドーイング
Rustのシャドーイング:JavaScriptプログラマーが驚く変数の扱い方
はじめに
普段JavaScriptを書いてる私が、Rustの勉強を始めて、多くの概念が新しく見えますが、その中でも「変数のシャドーイング」が新しい概念だったので、この記事を起こしました。
この記事では、Rustの変数シャドウイングの基本から、JavaScriptプログラマーが驚くポイント、そして実際の使い方までを解説します。
シャドーイングの基本概念
シャドーイングとは何か
シャドーイングとは、同じスコープ内で同じ変数名を再度宣言することで、以前の変数を「影」に隠す(シャドウする)機能です。Rustでは以下のように書きます:
let x = 5; // 最初のx
let x = x + 1; // 新しいx(以前のxを使って計算)
let x = x * 2; // さらに新しいx
println!("The value of x is: {}", x); // 12が出力される
この例では、x
という変数を3回宣言しています。各宣言は新しい変数を作成し、前の変数を「シャドウ」(隠す)します。最終的なx
の値は12になります。
JavaScript vs Rust:変数宣言の違い
JavaScriptでは同じスコープ内で変数を再宣言すると通常エラーになります。
let x = 5;
let x = 6; // SyntaxError: Identifier 'x' has already been declared
代わりに単純な代入を使います:
let x = 5;
x = x + 1; // これは有効
x = x * 2; // これも有効
console.log("The value of x is: " + x); // 12が出力される
この根本的な違いがJavaScriptプログラマーが最初に驚くポイントです。Rustでは同一スコープ内で「再宣言」が許されるのです。
終わり
単純な記事ですがRustをこれから学んでいくため、アウトプット8割インプット2割でやっていきたいと思います〜。
Discussion