anchor.diff:  ifeval::["{backend}" == "html5"]
   == 推奨ブラウザ
   
  -この書籍を読むにあたっての推奨ブラウザとしては、ECMAScript 2015(ES2015)以降をサポートしているブラウザとなっています。
  -Promiseは、ES2015で導入されたこととサンプルコードにES2015の文法を利用しているためです。
  +この書籍を読むにあたっての推奨ブラウザとしては、ECMAScript 2015(ES2015)以降をサポートしているブラウザです。
  +Promiseは、ES2015で導入されたサンプルコードにES2015の文法を利用しているためです。
   
  -また、推奨環境ではありませんがiOSやAndroidなどのモバイル端末でも閲覧は可能です。
  +また、推奨環境ではありませんがiOSやAndroidなどのモバイル端末でも閲覧はできます。
   
   ifeval::["{backend}" == "html5"]
   ++++
  
positive.code: またES Promisesは元が<<promises-aplus,Promises/A+>>というコミュニティベースの仕様であるため、多くの実装ライブラリがあります。
  
  ブラウザネイティブの機能、またはライブラリを使うことで今すぐ利用できるPromiseについて基本的なAPIから学んでいきます。
  その中でPromiseの得意/不得意を知り、Promiseを活用したJavaScriptを書けるようになることを目的としています。
  
  == 本書を読むにあたって
  
  この書籍ではJavaScriptの基本的な文法や機能をすでに学習していることを前提にしています。
  
  次のいずれかの書籍を読んだことがあれば、十分読み解くことができる内容だと思います。
  
  - https://www.oreilly.co.jp/books/9784873113913/[JavaScript: The Good Parts]
  - https://www.oreilly.co.jp/books/9784873114880/[JavaScriptパターン]
  
negative.code: ++++
  <div class="tutorial-area">
  <button class="mirror-console-button mirror-console-run">実行</button> ボタンを押すことで、
  サンプルコードがエディタとなりコードを実行できます。<br />
  <button class="mirror-console-button mirror-console-clear">ログをクリア</button>ボタンでは実行結果の console.log で出力した内容を消せます。
  <br />
  <button class="mirror-console-button mirror-console-exit">終了</button>ボタンではエディタモードを終了します。
  </div>
  ++++
  気になるコードはその場で書き換えて実行できるため、理解するための補助として使って下さい。
  
  endif::[]
  
  == 本書のソースコード/ライセンス
  
  この書籍に登場するサンプルのソースコード また その文章のソースコードは全てGitHubから取得できます。
  
  この書籍は http://asciidoctor.org/[AsciiDoc] という形式で書かれています。
  
  - https://github.com/azu/promises-book[azu/promises-book] image:https://travis-ci.org/azu/promises-book.svg?branch=master["Build Status", link="https://travis-ci.org/azu/promises-book"]
  
  また、リポジトリには書籍中に出てくるサンプルコードのテストも含まれています。
  
  ソースコードのライセンスはMITライセンスで、文章はCC-BY-NCで利用できます。
  
  == 意見や疑問点
  
  意見や疑問点がある場合はGitHubに直接Issueを作成できます。
  
  * https://github.com/azu/promises-book/issues?state=open[Issues · azu/promises-book]
  
  