Web上での普及など、様々な要因により、JavaScriptは避けて通れないものとなっています。しかし、それはJavaScriptが広く好かれているという意味ではありません。本書では、JavaScriptを使用する際に多少の癖を受け入れる必要がある一方で、JavaScriptが生産性が高く、プログラミングを楽しむことができる優れた言語であることを読者の方に納得していただければと思っています。
JavaScriptの誕生以来、その発展を追ってきましたが、JavaScriptを好きになるまでには長い時間がかかりました。しかし、最終的に好きになったときには、Scheme、Java(GWTを含む)、Python、Perl、Self(これらはすべてJavaScriptに影響を与えています)といった言語での経験が、すでに私を十分に準備させてくれていたことが分かりました。
2010年、Node.jsを知り、最終的にはサーバーとクライアントの両方でJavaScriptを使用できるようになるという希望が湧きました。その結果、私は主要なプログラミング言語としてJavaScriptに切り替えました。学習中に、発見したことの記録として本書を書き始めました。本書は、まさにあなたが現在読んでいるその本です。ブログでは、本書の一部とJavaScriptに関するその他の資料を公開しました。それはいくつかの点で私を助けてくれました。肯定的な反応は、私が書き続けることを励まし、本書の執筆を孤独なものにしないようにしてくれました。ブログ記事へのコメントは、追加の情報やヒントを与えてくれました(本書全体で謝辞を述べています)。そして、それは人々に私の仕事を知らしめ、最終的にO'Reillyがこの本を出版することになりました。
本書は、このように3年以上かけて制作されました。その間に内容を継続的に洗練させ、長い準備期間から利益を得ました。ついに本書が完成したことを嬉しく思い、JavaScriptを学ぶ人々にとって役立つことを願っています。O'Reillyは、本書をオンラインで無料で読むことができるようにすることに同意しており、これは幅広い読者がアクセスできるようにするのに役立つはずです。
本書はあなたのためのものですか?以下の項目が判断の助けになるでしょう。
本書は、プログラマーによって、プログラマーのために書かれています。したがって、本書を理解するためには、Java、PHP、C++、Python、Ruby、Objective-C、C#、Perlなどの主要なプログラミング言語を通じて、オブジェクト指向プログラミングをすでに知っている必要があります。
本書の対象読者は、JavaScriptを迅速かつ適切に学びたいプログラマーと、スキルを深めたい、または特定のトピックを調べたいJavaScriptプログラマーです。
本書は4つの部に分かれていますが、主な2つは次のとおりです。
これらの部分は完全に独立しています!それぞれを別々の本として扱うことができます。前者はガイドのようなもので、後者はリファレンスのようなものです。本書の4つの部分では、本書の構成について詳しく説明しています。
JavaScriptを学ぶための最も重要なヒントは、細部にこだわらないことです。確かに、この言語には多くの詳細があり、本書ではそのほとんどを網羅しています。しかし、私が皆さんに指摘する、比較的シンプルで洗練された「全体像」もあります。
本書は4つの部分で構成されています。
本書を読みながら、コマンドラインを用意しておくと便利です。 これにより、コードをインタラクティブに試すことができます。最も一般的な選択肢は次のとおりです。
node
を呼び出すことで起動します。 本書では、以下の表記規則を使用しています。
疑問符(?)は、省略可能なパラメータを示すために使用されます。例えば
parseInt
(
str
,
radix
?
)
フランス語の引用符(ギユメ)は、メタコードを示します。このようなメタコードは、実際のコードで埋められる空白と考えることができます。例えば
try
{
«
try_statements
»
}
「白い」角括弧は、省略可能な構文要素を示します。例えば
break
⟦«
label
»⟧
JavaScriptのコメントでは、JavaScriptと英語を区別するためにバッククォートを使用することがあります。
foo
(
x
,
y
);
// calling function `foo` with parameters `x` and `y`
組み込みメソッドは、フルパスで参照します。
«
Constructor
»
.
prototype
.
«
methodName
»
()
たとえば、Array.prototype.join()
は配列メソッド join()
を参照します。つまり、JavaScriptは Array
インスタンスのメソッドをオブジェクト Array.prototype
に格納します。この理由は、レイヤー3:コンストラクター - インスタンスのファクトリーで説明されています。
新しい概念を紹介するたびに、JavaScriptコマンドラインでのインタラクションを例示することがよくあります。これは、次のようになります。
> 3 + 4 7
大なり記号(>)の後のテキストは、人間が入力した入力です。それ以外はJavaScriptエンジンが出力したものです。さらに、コンソールにデータを出力するために、特に(コマンドライン以外の)ソースコードでは、メソッド console.log()
を使用します。
var
x
=
3
;
x
++
;
console
.
log
(
x
);
// 4
この要素は、ヒントまたは提案を示します。
この要素は、一般的な注記を示します。
この要素は、警告または注意を示します。
本書をリファレンスとして使用することはできますが、オンラインで情報を検索する方が速い場合があります。お勧めするリソースの1つは、Mozilla Developer Network (MDN) です。Webを検索して、MDNのドキュメントを見つけることができます。 たとえば、次のWeb検索では、配列の push()
メソッドのドキュメントが見つかります。
mdn array push
Safari Books Online は、テクノロジーとビジネスの分野における世界をリードする著者による専門的なコンテンツを、書籍とビデオの両方で提供するオンデマンドデジタルライブラリです。
テクノロジーの専門家、ソフトウェア開発者、Webデザイナー、ビジネスおよびクリエイティブの専門家は、Safari Books Onlineを、研究、問題解決、学習、認定トレーニングのための主要なリソースとして使用しています。
Safari Books Onlineは、企業、政府、教育機関、個人向けに、さまざまなプランと価格を提供しています。
会員は、O'Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technologyなど、その他多数の出版社から出版された、数千冊の書籍、トレーニングビデオ、出版前の原稿に、完全に検索可能な1つのデータベースからアクセスできます。Safari Books Onlineの詳細については、オンラインでアクセスしてください。
本書に関するご意見やご質問は、出版社までお願いいたします。
O'Reilly Media, Inc. |
1005 Gravenstein Highway North |
Sebastopol, CA 95472 |
800-998-9938 (米国またはカナダ) |
707-829-0515 (国際またはローカル) |
707-829-0104 (FAX) |
本書のWebページを用意しており、正誤表、例、その他の追加情報を掲載しています。このページには、http://oreil.ly/speaking-js からアクセスできます。
本書に関するコメントや技術的なご質問は、bookquestions@oreilly.com までメールでお送りください。
O'Reillyの書籍、コース、カンファレンス、ニュースの詳細については、Webサイト http://www.oreilly.com をご覧ください。
Facebookでフォローしてください: http://facebook.com/oreilly
Twitterでフォローしてください: http://twitter.com/oreillymedia
YouTubeでご覧ください: http://www.youtube.com/oreillymedia
本書の出版を可能にしてくれた、以下の方々に感謝いたします。
以下の方々は、私がJavaScriptを理解するための基礎を築いてくれました(時系列順)。
その他の情報源については、各章で謝辞を述べています。
本書をレビューしてくれた以下の方々に深く感謝いたします。彼らは重要なフィードバックと修正を提供してくれました。アルファベット順に