Sassの変数スコープの仕様では、ローカル・コンテキストからグローバル変数を上書きできていた。LESSでは多くのプログラミング言語と一緒で上書きはできないという素直な仕様になっている。Sass 3.3では上書きしようとすると警告が出るようになり、!globalフラグを使い明示的に上書きしていることを教える必要があるようになった。将来的には仕様が変更され、警告なしでLESSと同じ挙動になるようだ。 Sassではローカル・コンテキストでグローバル変数を上書きでき、そのスコープを抜けてもそのままになる。 $color: #f00; .test-local { $color: #0f0; color: $color; // #0f0 } .test-global { color: $color; // #0f0 } 対してLESSでは上書きされない。 @color: #f00; .test-loc
![Sassの変数スコープと!global](https://cdn-ak-scissors.b.st-hatena.com/image/square/4fd8a67abeabfd9bafa87bfc2a3ea4e679ac51d2/height=288;version=1;width=512/https%3A%2F%2Fhail2u.net%2Fapple-touch-icon.png)