コンテンツ一覧

JavaScriptは簡単か?

『JavaScriptは簡単だ』などと言う言葉を信じてはいけません。そう思われている節がありますが、これはとんでもない勘違いです。

確かにブラウザさえあればすぐに実行できるという意味ではお手軽には違いありません。しかし、「お手軽=簡単」と決めつけると痛い目に遭うでしょう。

ウェブ上にはJavaScriptに関する資料が山ほどありますが、それらのほとんどは文法のリファレンスに終始しています。スコープのことに関して触れているものはほとんど見当たりません。

 

言語仕様のポイント(言語特性)

  • インタプリタ型
  • 主にクライアントサイドで使用される
  • クライアントのファイルにはCookieを除いて一切アクセス不可能

言語仕様のポイント(文法)

  • 大文字と小文字を区別
  • センテンスの区切りはセミコロン(;)
  • 文字列リテラルは、「’」または「”」で囲む
  • 文字列の結合は「+」
  • 宣言時に変数の型を指定しない(自動で決まる。指定できない。)
  • スコープはグローバルと関数内の2つのみ
  • 単一行コメントは「//」以降
  • 複数行コメント(ブロックコメント)は「/*」と「 */」で囲む
  • 「elseif」でも「elsif」でもなくて、「else△if」
  • switchはbreakを忘れると「フォールスルー」する
  • 特殊な方法でクラスライクなことも可能。(ただし、他言語のクラスとはモデルが大きく異なるので注意すること)(prototypeについて記載せよ)

意外と知られていないこと

  • document.wirte() の引数に複数の引数を渡すと自動的に連結して表示してくれる。
  • 変数宣言時のvarは省略可能なのではなく、付けるのと付かないのではスコープが異なる。
  • 関数の引数の数より、実際の渡す引数が少なくても多くてもエラーにはならない。
  • prototypeとクロージャーを駆使すればクラスのようなことが出来る。
  • 変数に関数自体(関数名ではない)を格納できる。引数として渡すことも出来る。
  • 匿名(無名)関数を作成することが出来る。

スクリプト言語という呼び方について

コンパイル型に対するインタプリタ型は定義がハッキリしていますが、スクリプト言語という呼び方はハッキリした定義がないため使わない方が良いでしょう。(定義のハッキリしないものを使ったところで誤解を招くだけで意味がありません)

スクリプト言語 -WikiPedia-

スクリプト言語(スクリプトげんご、英語: scripting language)とは、アプリケーションソフトウェアの動作内容を、台本(script)のように記述し制御するための、簡易的なプログラミング言語である。
上記の意味より、さらに転じて、比較的単純なプログラムを記述するための、簡易的なプログラミング言語全般をいう。変数に型をつけないなど、動的型付け言語をスクリプト言語と呼ぶ定義もある。ただし、厳密な定義ないし区別は存在しない。インタプリタ方式を採用しているものが多いが、JavaScriptやLuaなどJITコンパイラを処理系に搭載しているものが増えている。
(Wikipediaより引用)

免責事項

情報の正当性について

当サイトに記載している情報は、管理人自らの体験に基づき正確な記述を心がけていますが、情報の正当性を完全に保証するものではありません。

損害・トラブルについて

当サイトの情報をご利用になったことによって生じた損害・トラブル等に関しまして、当方は一切賠償責任を負いかねることをご了承ください。自己責任のもと、ご自身で最終的な判断をした上でご利用願います。

掲載内容の誤りについて

上述のように賠償責任を免責されることと、文責そのものを放棄することとは同等ではありません。記述内容に重大な過ちがある場合はご指摘いただきましたら直ちに訂正いたします。

 

プログラム倶楽部