BACK

HOOPSII MOBILE

HOME

22冊目 【JavaScript】[ECMAScript] with文

制御構文の中でも特殊はwith文を説明したいと思います。

目次

[1] with文の構文

オブジェクトを省略して記述することができる構文です。

with(オブジェクト){
  ここに処理を記述する
}

// オブジェクトを生成
var obj = {x:10,y:20,z:"ほぷしぃ"};

// with文を使用しない場合
document.writeln(obj.x);
document.writeln(obj.y);
document.writeln(obj.z);

// with文を使用した場合
with(obj){
	document.writeln(x);
	document.writeln(y);
	document.writeln(z);
}

with文で囲まれたブロック内では省略してアクセスすることができるようになります。

[2] with文は実用性があるのか

JavaScriptではじめてこのwith文を見たときにこれは使える機能なのではと思いました。
いろいろ調べてみたところあまり利用しないほうがいいらしいです。
それには以下のような理由があるからです。主に2種類です。
ブロック内の処理速度の低下、コードが読みにくくなる(with文で省略されたものがわかりにくい)
といった理由からお勧めはできないようです。
おもしろそうな機能なのに、残念です。

[3] 更新履歴

日付 詳細
2011/07/26 コンテンツ公開

Copyright (C) 2011 ほぷしぃ. All Rights Reserved.