編集  

JavaScript単語

ジャバスクリプト

JavaScript(ジャバスクリプト)はスクリプト言語の一種。Webブラウザ上で動作させるためのスクリプトとして誕生した。

現在ECMAScriptが正式名称らしいが、その名を知る者は少ない。

概要

ニコニコ動画など、近年のWebサービスは見栄えや操作性を上げるためにJavaScriptを多用する傾向にある。JavaScriptに対応していない、または機を制限しているブラウザでそのようなページを閲覧する場合、制作者の意図した表示・動作にならないことがある。

プログラミング言語であるJavaとは名前が似ているため間違われやすく、また本屋などではJavaコーナーJavaScript関連本が置かれていたりするが、実は全く別の言である。JavaScriptNetscape Navigatorに搭載された当初はLiveScriptという名前だったが、当時Netscape Communications(現AOL)Sun Microsystems(現Oracle)と技術提携しており、アプレットというWebブラウザ上でJavaプログラムを動かす形態で当時人気だったJavaあやかってJavaScriptという名前に変更したらしい。

なお、JavaScript現在ではECMAScriptとして標準化された言の一般的な呼称である。ECMAScript実装例として、他にInternetExplorerJScriptやAdobe FlashActionScriptなどがある。

2000年前半まではスクリプト言語というチープ感やセキュリティ問題等であまり好まれていない言であったが、2005年googleマップが話題となり、Ajaxという名称がつけられた頃から一気に注が集まり、いまやWebアプリ開発の世界では絶対に避けて通れない言となっている。

サンプルコード

Hello, World!

ブックマークレット

アドレスバーコピペで実行できる。新しくブックマークを作り、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で問い合わせる形態のデータベースがいくつか登場している。

関連用語

NicoScript (ニワン語
戀塚昭彦氏の示でJavaScriptに似せて作られた。(日経ソフトウェア2008年5月号より)
Greasemonkey
Mozilla FirefoxのアドインJavaScriptを用いてウェブサイトを拡する。
ActionScript
Flashで使用される言JavaScript(ECMAScript)を拡したもの。
TypeScript
MicrosoftJavaScript上位互換として静的型付けにしたもの。

関連商品

関連項目


【スポンサーリンク】

スマホ版URL:
https://dic.nicovideo.jp/t/a/javascript
ページ番号: 184929 リビジョン番号: 2640553
読み:ジャバスクリプト
初版作成日: 08/06/01 01:23 ◆ 最終更新日: 18/11/10 14:34
編集内容についての説明/コメント: 関連項目とか
記事編集 / 編集履歴を閲覧

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

JavaScriptについて語るスレ

62 : ななしのよっしん :2017/07/14(金) 18:12:34 ID: YBePIF8hjd
webアセンブラなんて言われてるらしい
63 : ななしのよっしん :2017/07/21(金) 21:49:40 ID: kVb/AfhhWE
webアセンブリ言語WebAssemblyですよ(安直)
64 : ななしのよっしん :2017/08/10(木) 19:55:56 ID: QNL6AqJMGc
AudioWorklet が待ちきれないので WebAssembly で PC-98FM音源の音を生成しそれをspeexdspサンプリング変換しopusにエンコードしてMediaSourceに流し込むテスト
https://takamichih.nsupdate.info/fmplayerweb/exit
65 : ななしのよっしん :2017/11/03(金) 00:35:02 ID: LH1oUY63D6
最近はWebアプリだけじゃなくてとにかくGUIが絡む場合避けて通れない存在になりつつある
66 : ななしのよっしん :2017/11/23(木) 02:29:50 ID: rePvE9AFBv
いやぁ、Electronは画期的でしたね……
67 : ななしのよっしん :2018/01/20(土) 01:12:06 ID: ATt83zLnh1
Java8や9の変わりようも凄いが、
JavaScriptも最近の仕様はもはや別言と言って差し支えない有様
そのうえAltJSとやらもある上にCSSHTML仕様がじゃんじゃん追加
フロントエンジニアは本当ご苦労様ですわ
68 : ななしのよっしん :2018/04/15(日) 21:10:51 ID: bcujKFLMG2
Mozillaが「WebAssembly Studio」発表。C/Rust/AssemblyScript対応のオンラインIDE
http://www.publickey1.jp/blog/18/mozillawebassembly_studiocrustassemblyscriptide.htmlexit

JavaScriptを拡して静的型付けを可にしたTypeScriptを制約してWebAssemblyへ事前コンパイルにしたAssemblyScript・・・だと?
69 : ななしのよっしん :2018/04/16(月) 10:51:25 ID: bcujKFLMG2
Go言WebAssemblyをサポートへ。GOARCHは「wasm」、GOOSは「js」に
http://www.publickey1.jp/blog/18/gowebassemblygoarchwasmgoosjs.htmlexit
>Go言サポートするOSCPUの種類をそれぞれ「GOOS」と「GOARCH」の値で示しています。例えばWindowsGOOS値は「windows
>今回のWebAssemblyでは、GOOSがJavaScriptの実行環境を表す「js」、GOARCHがWebAssemblyの正式な省略形である「wasm」となりました。

JSOSだった・・・?GO is GOD
70 : ななしのよっしん :2018/06/02(土) 15:57:38 ID: mzGLoSYriM
>>61
"古いJS観の人間に限って、プロトタイプベースオブジェクト指向であるといった、
古くからのコアの基本事項すら理解していないことが多い。"

ほんとこれ
オブジェクト指向=クラスベース」という考えを持ったPGガチで多い
あとプロトタイプベース自体が大規模開発に向かないというのも理解してない

しかしクラスベースのように振る舞うJSさんサイドにも問題がある
何もかもnewが悪い!(極論)
71 : ななしのよっしん :2018/10/20(土) 21:41:57 ID: JVELjqwIC4
>>61
>>70
最近趣味プログラミング始めたけど、初心者一人でやるとその「環境構築」が凄い難しいんですよ…
Visual Studioも「インストールは出来るけど使い方がやっぱ解んない」ってなりがちだし
JSは極論メモ帳があればいけるからとっつきやすいですねー
急上昇ワード
ニコニコニューストピックス