alert() と書くために,わざわざ行頭に戻らなくてもすむ方法
JavaScriptで,文字列の内容を確認するためには
alert( str );
のようなコードを書く。
しかし,本当は
str.alert();
のような書き方をしたい。 そう思うのでは。
文字列(「str」とか 「"hoge"」 )を書いてから,
そのあとで alert() と書きたい。
要するに,文字列変数をタイプした直後,「あ,この変数の内容を表示したいんだった」と気づいて,alert() を書くだけのためにわざわざ行頭に戻って,文字列変数を alert() で囲むのが面倒。
どうしたらよいか。
解決策
これでOK
"hoge".replace(/^.*$/,function(){alert(arguments[0])});
価値
タイプライターでJavaScriptをコーディングしているときなどに,とても役立つだろう。
(一度タイプした文字が取り消せないような状況)
※別解
もちろん,下記のような方法もあるのだが
// 全ての文字列オブジェクトのインスタンスメソッドとしてalert()を定義してしまう String.prototype.alert = function(){window.alert(this)}; "fuga".alert();
この手は,「文字列変数をタイプしてしまった直後」には使えない。
参考
コードの説明:
JavaScriptで,文字列を反復する / 逆順に並び替える方法
http://language-and-engineering.hatenablog.jp/entry/20080924/1222174957
- String#replace() の第二引数には,無名関数を渡す事が可能
このエントリの必要性:
日本語とオブジェクト指向
http://satoshi.blogs.com/life/2004/09...
- 「オブジェクト指向ユーザインタフェース」とは,文書ファイルや音楽ファイルといった対象物(オブジェクト)を先にユーザーに選択させ,実行できるメニューコマンド(編集する、印刷する、演奏する、など)の幅をせばめ、使いやすくしようという発想
#8 達人プログラマー Dave Thomas(後編)
http://gihyo.jp/dev/serial/01/alpha-g...
- 名著「達人プログラマー」の筆者Daveが,プログラミング言語としてRubyを好む理由
- 頭の中で考えたプログラムをそのままコードに転写するのに非常に向いています。考えたままに書けばたいてい動く。
最近のタイプライターについて:
タイプライターはオワコン? いえいえ「USB Typewriter」は最先端ガジェットです
http://gadget.itmedia.co.jp/gg/articl...
- タブレット・デバイスの外付けキーボードとして,「USB接続可能なタイプライター」が販売されている。
- 誠に残念ながら,打ち間違いを訂正可能。