javascript: 盗撮
このページは javascriptとはに関してが 2008年 04月 12日 17時18分49秒 にクロールしたキャッシュ情報です。

検索キーワード= 盗撮
優先キーワード= 盗撮

javascriptとは?

[ 50] JavaScript - Wikipedia
[引用サイト]  http://ja.wikipedia.org/wiki/JavaScript

JavaScript(ジャバスクリプト、ジャヴァスクリプト、略称:JS)はスクリプト言語である。主にWebブラウザ上で動作し、HTMLの動的書き換えや入力フォームの自動補完など、Webページの使用感向上を目的として使用されたり、リッチクライアントアプリケーションの構築に使われる。
文法はプロトタイプベースのオブジェクト指向型である。多くの場合は、C言語に似た手続き型言語のようなスタイルで書かれるが、関数型言語とも多くの類似点がある。近年ではその柔軟な設計が評価され、様々なアプリケーションで自動実行の用途におけるマクロ言語としても採用されている[1]。
当初は、テキストエディタで編集するだけの簡単なアプリ構築に使われていたが、近年では、IntelliJ IDEAやSpket IDEなどにより、IDEにコード補完・編集時のリアルタイム文法チェック・リファクタリングなどの機能が搭載されるようになり、大規模開発が可能となった。また、Ajaxにおける、ブラウザ間の互換性の問題は、JavaScriptライブラリにより吸収することで、大きく解決された。さらに、ExtJSなどの本格的なGUIライブラリの登場により、デスクトップアプリと差がないアプリを作ることが可能となった。また、DWRなどのJavaScriptとサーバー間をつなぐ技術の発達により、クライアント・サーバー間の通信が著しく容易になり、また、JettyなどのアプリケーションサーバーがComet利用時のメモリ使用量の削減を実現したため、サーバーからクライアントへの情報のPush型の配信が実用的となった。
なおJavaとScriptの間は詰めて表記する。Javaと名前や文法が似ているためしばしば混同されるが、互換性は全くない。Javaと呼ぶ場合はプログラミング言語Javaを指すので注意が必要。名前の由来については#誕生を参照。
1990年代後半にMicrosoftのInternet Explorer、NetscapeのNetscape Navigator間で勃発した、いわゆる第一次ブラウザ戦争では、両ブラウザが独自の拡張を施し様々な仕様が乱立する事態に発展した。ブラウザに関するセキュリティ意識も今日程高くなく、JavaScriptに関する脆弱性が次々と発見されることになる。また、初心者でも比較的容易にプログラムが書けることが、JavaScriptの言語仕様及びその周辺技術に精通していない利用者が増える原因ともなった。さらにその名称から、Javaのサブセットや下位バージョンの様な印象を一部の人間に与えたことも事実である。以上の様な理由から各ブラウザ上での挙動に差異が出たり、必要以上に「アマチュアが使うもの」「低機能な言語」と捉えられてしまうことになる[4]。
市場のブラウザ間互換性がある程度確立された2000年頃にはGoogleやAmazon等の大手企業もJavaScriptを積極的に利用し始めた。代表的なものとしてはGoogle マップ[1]やAmazon Diamond Search[2]等がある。2005年、JavaScriptの非同期通信を利用した技術にAjaxという名前がつけられたことによって、高機能なWebアプリケーションの開発言語の一つとして再び注目を集めている。しかし今も尚、JavaScriptによる脆弱性や攻撃は存在しており、状況が本質的に変わった訳ではない[要出典]。
2000年〜2003年にかけて、JavaScript 2.0 を作ろうとした動きがあったが、ネットスケープコミュニケーションズとマイクロソフトの対立でまとまらなかった。当時ネットスケープコミュニケーションズが提案していた案がアドビの ActionScript 2.0 に引き継がれ、マイクロソフトの案が JScript .NET へと引き継がれた。2006年現在 ECMAScript 4 の策定が進められており、Mozilla Foundation はこれに基づいて JavaScript 2.0 を作成することを表明している。また、Mozilla は ECMAScript 4 の策定にあたって Python のよさを取り込んだ案を提案しており、自身でもこれを実装している[5]。
XMLHttpRequestや、IFRAMEを使った通信では、ダウンロード元のサーバー以外のURLにアクセスすることが出来ない。 そのため、一般的には、サーバーを経由して他のドメインのリソースにアクセスすることが多いが、動的scriptタグの生成などにより、他のドメインのURLにアクセスすることが可能である。
悪意のあるユーザによってクロスサイトスクリプティングや、ブラウザクラッシャー等の危険性のあるページが生成される可能性がある。
ブラウザ間の、言語仕様そのものの実装に関する互換性は極めて高く、DOMなど関連仕様の実装に関する互換性も比較的高い。しかし、単純な装飾処理や入力チェック等は比較的安易に導入できるため、現状では利用者の多くが言語仕様やDOM仕様、ブラウザベンダの提供する技術文書等に目を通さずに使用している。このため各利用者の使用法に大きな癖があることが多い。ベンダにとっては新しいブラウザの開発にあたり、現存するWebページの大半が問題なく表示・動作可能な製品を提供することも使命であるため、この実情がブラウザ間での完全な互換性を確立することを困難にしている。
1999年のECMA262-3以来、数えるほどのベンダ独自拡張があっただけで、言語仕様自体の変更は無かったと言える。しかし、XULでの使われ方や、Ajaxと呼ばれる使われ方など、複数の人間が長期間携わって作り管理するようなものが目に付くようになってきている。現在の言語仕様に限界が見えてきているわけではないが、より楽な管理を実現する為に、言語仕様改訂を待ち望む声は少なくない。
Java(JavaScriptと名称は似ていて間違えやすいが、文法が多少似ているのみで、違う言語。→#誕生を参照。)
JavaScriptコーディングのガイドライン - Apple社による邦訳版ガイドライン。WebKit系ブラウザSafariの指針

 

戻る