0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

javascriptとは

Last updated at Posted at 2018-10-29

javascript.jpg

ウェブ制作に欠かせないjavascriptですが、今までなんとなく使っていたため、ちゃんと調べてみました。

#目次

  • Javascriptとは
  • 開発領域
  • 言語の仕様
  • Javascriptの人気

#Javascriptとは
WEB上でインタラクティブな表現をする為に開発されたオブジェクト指向のスクリプト言語

オブジェクト指向
何かの対象に対して操作していくイメージ

スクリプト言語
プログラミング言語のうち、プログラムの記述や実行を比較的簡易に行うことができる言語の総称
コンパイルが必要ない

#開発領域
JavaScriptはブラウザに実行環境が搭載されていることから、WebサイトやWebアプリ・サービスなどを開発する際によく利用されています。
Javascriptはクライアントサイドとサーバーサイドの両方で使用されています。
ゲーム開発でも「Unity」が増えてきていてその中で使用できるものとしてJavaScriptが採用されているようです。

####クライアントサイド
クライアントサイドでは、Javascriptを簡単にしてくれるライブラリとしてjQueryがよく使用されています。HTMLやCSSだけではできない動きなどを表現することができます。フォーマットがJSONであるAPIもjavascriptで利用することができます。

####サーバーサイド
サーバーサイドはPHP、perl、ruby などが有名だが最近ではサーバーサイドJSと呼ばれるものがでてきてJavaScriptによる開発が進んでいて、有名な言語としてnode.jsがあげられます

#言語の仕様
JavaScriptにはECMAScript(エクマスクリプト)という仕様があります。
普段記述しているJavascriptはブラウザに対してECMAScriptを標準化したものです。

ECMAScriptはEcma International(http://www.ecma-international.org/default.htm) という団体によって標準化されている仕様です。 Ecma InternationalはECMAScript以外にもC#やDartなどの標準化作業を行っています。 Ecma International中のTechnical Committee 39(TC39)という技術委員会が中心となって、ECMAScript仕様についてを議論しています。 この技術委員会はMicroSoft、Mozilla、Google、AppleといったブラウザベンダーやECMAScriptに関心のある企業などによって構成されます。

####仕様の策定プロセス
ECMAScriptにプロポーザルが査定されるには5段階のプロセスがあります。

Stage 名称 状態
0 Strawman ただのアイデア
1 Proposal アイデアがプロポーザルとして認められ、議論を進めている
2 Draft ドラフトとして、APIや構文についての仕様書がある
3 Candidate 仕様としては完成しており、実装やフィードバックを待っている
4 Finished 仕様の策定が完了している
現在は1年ごとにバージョンをリリースしています。4以降からその年のES20XXといったバージョンでリリースされます。その後ブラウザにその使用が搭載されることで使用できるようになります。
従って、ECMAScriptに新しいプロポーザルが策定されることでJavascriptの仕様も変化することとなります。

現時点でのプロポーザル
https://github.com/tc39/proposals

####バージョンによる変化
ES5(ES2014)から ES6(ES2015)で追加された内容が以下になります。

  • classによるクラス構文
  • let・constよる変数宣言
  • Template strings
  • importとexport
  • アロー関数(Arrow Functions)
  • Promise
  • ジェネレータ関数(Generator Funcitons)

####アロー関数
変わった仕様の一例としてアロー関数について紹介します。

ES5


//引数が1つ
function str(arg1) {
  console.log('hoge');
}
//引数が複数
function(arg1, arg2) {
  console.log('hoge');
}

ES6

//引数が1つ
var str = arg1 => console.log(arg1);
//引数が複数
var str = (arg1, arg2) => {
  console.log('hoge');
}
  • ES6では、アロー関数を利用することで関数をシンプルに記述できる。
  • 引数が1つの場合は()を省略できる
  • 1行に収まる場合{}も省略できる

まだまだ追加された仕様はありますが次回以降紹介します。

#javascriptの人気
StackOverflowによるとjavascriptが一番人気のようです。
js_graph_02.jpg

回答者はバックエンドが多いようなのでバックエンドでもフロントエンドでも利用されているということかもしれませんね。
js_graph_01.jpg

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?