JavaScript(ジャバスクリプト)はスクリプト言語の一種。Webブラウザ上で動作させるためのスクリプトとして誕生した。
ニコニコ動画など、近年のWebサービスは見栄えや操作性を上げるためにJavaScriptを多用する傾向にある。JavaScriptに対応していない、または機能を制限しているブラウザでそのようなページを閲覧する場合、制作者の意図した表示・動作にならないことがある。
プログラミング言語であるJavaとは名前が似ているため間違われやすく、また本屋などではJavaのコーナーにJavaScript関連本が置かれていたりするが、Javaとは全く別の言語である。JavaScriptがNetscape Navigatorに搭載された当初はLiveScriptという名前だったが、当時Netscape Communications(現AOL)はSun Microsystems(現Oracle)と技術提携しており、アプレットというWebブラウザ上でJavaプログラムを動かす形態で当時人気だったJavaにあやかってJavaScriptという名前に変更したらしい。
1997年にJavaScriptの技術はECMAScriptとして標準化されたため、これ以降JavaScriptはECMAScriptの仕様に基づいた実装の1つという位置づけになっている(ECMAScriptに基づいた実装例として、InternetExplorerのJScriptやAdobe FlashのActionScriptなどがある)。
2000年前半まではスクリプト言語というチープ感やセキュリティ問題等であまり好まれていない言語であったが、2005年にgoogleマップが話題となり、Ajaxという名称がつけられた頃から、非同期通信を可能にするツールとして一気に注目が集まった。
また2008年頃からWebデザインにダイナミックな動きを与えるライブラリとしてjQueryが世界的な人気となり、単にシステムだけでなく、デザイン、インターフェース、はたまたPHPやRailsにおけるAjax通信においても欠かせない言語となった。
今日ではスマホが普及したことでWEBアプリ用開発環境としてJavaScript及びそれを発展させたフレームワークやライブラリが開発に欠かせないものとなっており、”何でもできる”、から、更に速さと軽さというフットワークへの要求に応えたものとなっている。そんな中で特に知られているのが、中~大規模向けのフルスタックフレームワークであるAngular(Google開発)、小~大規模向けまで幅広く使える、JSX記法に則ったコンポーネント型フレームワークのReact(React.jsとは言わない)、そしてAngularの前身、AngularJSの開発メンバーがより発展的なフレームワークへと仕上げ、小~中規模の開発に向き、他ライブラリとの共用も可能なVue.jsの3つがお互いの需要を伸ばしている状態である。
アドレスバーにコピペで実行できる。新しくブックマークを作り、URLの代わりにこれを入力すればいつでも呼び出せる(ブックマークレットと呼ばれる所以)。ニコニコ動画ハッキング系の動画でたまに見かける「javascript:」で始まる呪文がこれ。
javascript: alert("Hello, World!");
まずsomethingコンストラクタを作る。これはインスタンスにnameプロパティを作り、仮引数nameの値を代入するというもの。次にsomethingコンストラクタのprototypeプロパティにhelloメソッドを追加。これはインスタンスのnameプロパティを参照し、その前後に「Hello, 」と「!」をくっつけてダイアログに表示させるというもの。そして実際にworldという名前でsomethingコンストラクタのインスタンスを作る。この時の引数は'World'。最後にworldオブジェクトからhelloメソッドを呼ぶ。
function something(name) {
this.name = name;
}
something.prototype = {
hello: function() {
alert('Hello, ' + this.name + '!');
}
};
var world = new something('World');
world.hello();
ブラウザ以外では主にアプリケーション用のスクリプト言語として使われている例がいくつもあり、特にAdobe製品ではほとんどの製品でJavaScriptによる拡張や自動化ができるようになっている。
サーバーサイドでは1990年代後半から様々な製品やプロジェクトが存在しており、いずれも普及しているとはとてもいえない状態だったのだが、現在はNode.jsが注目を集めており、サーバーサイドJavaScript環境が個人の趣味レベルを超える状態にはなっている。
またRDBの利点を多少目をつぶることでその問題点を克服した非リレーショナルデータベースのデータ形式にJSONを採用し、SQLの代わりにJavaScriptで問い合わせる形態のデータベースがいくつか登場している。
掲示板
94 ななしのよっしん
2022/10/13(木) 16:37:31 ID: shN+rzyUtI
昔はWebページでポップアップ広告とか余計なことするうざい言語のイメージで
嫌いだったし極力offにしてたなあ
今になってアツマールにゲーム投稿するのに覚えて使うようになるとは思わなんだ
95 ななしのよっしん
2023/05/22(月) 22:38:24 ID: fjZCNEh2N0
iPhoneの設定で切ったらブラウザが爆速になって笑った
その代わりあらゆる機能が制限されるけど閲覧だけなら十分使えるわ
96 ななしのよっしん
2024/04/02(火) 19:21:34 ID: i94REP9Wx2
JavaScript「新しいタブで開いた場合は白紙で表示します」
JavaScript「一定時間経って同じタブを開き直した場合は不正ログインとみなします」
👆
なんやねんコイツ
急上昇ワード改
最終更新:2024/09/10(火) 08:00
最終更新:2024/09/10(火) 09:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。