質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.07%

  • JavaScript

    13279questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    7230questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • CSS

    4610questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

  • HTML5

    3273questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • CSS3

    1701questions

    CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

MDN(Mozilla Developer Network)って使えますか?

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 3
  • VIEW 462

anndonut

score 227

Webデザイン、フロントエンド開発をする上でMDNって使えますか?皆さんのご意見を頂戴致したく。多分他の皆さんも本当の所を知りたがっていると思ってますので。

私としては、JavascriptについてはMDNは優秀だと思います。Web入門、HTML入門では誤訳?みたいなのがあったりしたのでちょっと不安感があったりします。

なのでMDNはWeb技術を学習する上でどのくらい役に立つのかというところですね。今はUdacity, Schooなどもありますし、W3Cのソースもあります。あと書籍と他サイトですかね。HTMLとCSSはみんながつかっているので良質なサイトが沢山あるような気もします。

そこのバランスをどんな感じで使われているかを沢山の人にご回答いただけるといいのかなと思います。

2017/12/22 23:09 追記:
そういえばHTML概要とか、翻訳途中なんですよね。私はChromeでGoogle翻訳ボタンをよく使うのですがMDNだけGoogle翻訳ボタンが使えないんですよね。そういう意味でApple Developersより使いづらくなってる感はあります。MDNを入門サイトとして使う日本人が少ないんでしょうね。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+6

 MDN の用途

MDNはJavaScriptでも仕様としてはやや間違っていることがあるので、心から信頼してはいません。

  • Firefoxの仕様を知りたい時に有用
  • 仕様書のリンクを追いたい時に有用
  • Compatible Table が有用 (今ではcaniuseに押され気味ですが)
  • 仕様を追いかけるのが労力的につらい時の導入サイトとして有用

リファレンスとしては、4つめの場面で使うことになり、そこそこの信頼性で良いと判断できる場合限定で使っています。
所詮はブラウザベンダーのサイトなので、「Firefoxの仕様を知りたい時に利用」が本来の用途なのだと認識しています。
IEの仕様を知りたくて、MSDNから情報を追うようなものです。

(2017/12/23 10:40追記)
x_x さんよりMSDNに行くとMDNにリダイレクトされるという情報を頂きましたので、後述します。

 MSDNは閉鎖され、MDNへ統合

ドキュメントを一元管理する為にWebブラウザのドキュメントをMSDNに一本化する流れなのだそうです。

そこで innerHTML のドキュメント参照を試みたところ、確かにリダイレクトされました。

しかし、MDNはブラウザベンダーの情報としては足りてないですね。
旧来のIE(IE8-?もう忘れました)でtable関連要素がinnerHTMLで書き換えられない、という仕様が書かれていません。

これは「古きIEは捨ててMicrosoft Edgeを使ってください」というMSからのメッセージなのでしょうか。
しかし、それなら「Edge独自の仕様orバグ」がMDNに記載されていなければならないのですが、私は見たことがありません。
MDNにどこまで「IE/Edgeの仕様」が書かれているのかが不明なので、私としては歓迎できない流れですね…。

 「Web標準仕様」と「Webブラウザの仕様」

HTML/CSS/JavaScriptの仕様には二種類あります。

  • Web標準仕様 (W3C, WHATWG, Ecma International 等の標準化団体が定めた実装が遵守しなければならない標準仕様)
  • Webブラウザの仕様 (Google Chrome, Firefox, IE, Edge 等の各Webブラウザが持つ独自の仕様)

私が「仕様」と書いたときには大体前者ですが、後者の仕様を知りたい時に私は MDN, MSDN, caniuse, その他Compatible Tableサイトを利用してきました。

 ブラウザベンダーとしてのMDN

MDNは「Webブラウザの仕様書」の位置づけで「Firefoxベンダーが作成したリファレンス」です。
つまり、Firefox独自の仕様にも触れられています。

例えば、過去に「typeof 演算子で RegExp オブジェクトを判定した時の返り値がWebブラウザによって異なる」という事象がありました。

console.log(typeof /test/); // "object" or "function"

当時のFirefoxでは "object" を返し、Google Chrome では "function" を返しました。
なぜ、そうなるかといえば、Google Chrome 及び Firefox は /test/ に暗黙の内に RegExp.prototype.exec の機能を持たせていたからです(この機能は ECMAScript には存在しない独自拡張です)。
RegExp.prototype.exec は関数([[Call]] を持つ)の為、typeof 演算子は "function" を返さなければなりません(MUST)。
ところが、Firefox は暗黙の内に RegExp.prototype.exec を持っていながら、typeof 演算子が "object" を返す動作でした。
おそらく、ECMAScript では本来、RegExp.prototype.exec を持っていない為、本来のECMAScriptと同じ振る舞いをするように typeof 演算子の返り値をコントロールしていたものと考えられます。
しかし、[[Call]] を持ちながら、typeof 演算子が "object" を返す動作は意図的にECMAScriptに違反しています。

現在では Google Chrome, Firefox から「暗黙のRegExp.prototype.exec」の機能が取り除かれ、Firefox, Google Chrome の typeof 演算子は "object" を返すようになりました。
現在はありませんが、機能が取り除かれるまではMDNの「RegExp.prototype.exec()」のページに暗黙のexecについて説明がありました。

このようにMDNは「Firefox独自の仕様」を知る時は役立ちます。
これはMDNに書かれた情報が「Firefox独自の仕様」と「Web標準仕様」のどちらなのか、を区別しなければならない、という事でもあります。
MDNはある程度、Firefox独自の仕様と区別できるように配慮されているようですが、十分な注意が必要です。

 MDN上の間違った用語

MDNでは「function文」や「スプレッド演算子」など、間違った用語が散見される為、私個人としては表現方法においてMDNの印象が良くありません。
(「function - JavaScript | MDN」ですが、以前のタイトルは「function文」でした。
現在ではタイトルだけ修正されていますが、本文上では「function 宣言」と「function 文」が存在し、表現上の揺らぎが見られます。)

正しくは「関数宣言(FunctionDeclaration)」であり、「スプレッド要素(SpreadElement)」です。

実際、日本人でMDNを参考にする人は多く、間違った用語を使う人を何度も見てきました。
特に「スプレッド演算子」についてはそれが正しい用語だと思っている人が大半であり、ブログやリファレンス、Q&Aサイトの多くが「スプレッド演算子」と表現しています。
私の知る限りでは正しく使っていたサイトは JS.next だけでした。

細かいことかもしれませんが、間違った用語から誤解が進むこともあるので、用語は正しく使ってほしいと思っています。

Re: anndonut さん

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/22 23:24

    そう思ってMSDN行って検索するんですが、最近はMDNに飛ぶんですよw

    キャンセル

  • 2017/12/23 07:31

    > JavaScriptでも仕様としてはやや間違っていることがある
    そうなんですね^^;

    一次情報の位置付けで使用していました。。。

    キャンセル

  • 2017/12/23 10:54 編集

    To: x_x さん
    情報ありがとうございます。
    MDN統合への流れを把握していなかったので追記しました。

    ところで、個人的にはIE/Edgeの仕様がMDNに多く記載されている印象がないのですが、私が知らないだけでそれなりに書かれているものなのでしょうか。
    addEventListenerのページに attachEvent に触れられている、等簡単なレベルのものはMSDNからMDNに統合される前からありましたが、IEの細かい仕様については触れられていない印象があります。
    そうした仕様は今までMSDN, IE Blog等で追う事が出来ていたのですが、統合した結果、失われた情報があるようにも感じています。

    To: te2ji さん
    > 一次情報の位置付けで使用していました。。。
    そう感じている方が多くいらっしゃると思いますが、「Web標準仕様」と「Webブラウザの仕様」の違いを意識している方が少ないのだとも思っています。
    ブラウザベンダーとしてはMDNは確かに一次情報ですが、IE, Google Chrome 等のFirefox以外のブラウザでも利用する用途でMDNを使うなら、二次情報の位置付けだと思います。

    キャンセル

  • 2017/12/23 11:06

    追記部分、非常に興味深く読ませていただきました。
    ありがとうございます。

    キャンセル

  • 2017/12/25 09:53

    失われた情報はあるでしょうね。
    XHRの正しい書き方(MDNは正しくない)とか、IE7のcellIndexのバグはどこに行ったのかな?と思います。まだどこかにあるのかもしれませんが

    キャンセル

  • 2017/12/25 16:07

    やはり、失われた情報があるのですね。
    「IE7のcellIndexのバグ」は興味深いですが、ググっても情報が見つかりませんでした。

    キャンセル

  • 2017/12/25 16:26

    https://social.msdn.microsoft.com/Forums/lync/en-US/01fc40d1-999a-4bea-bac3-a65fa23cc2d1/objectcellindex
    これですね。IE7は非表示カラムがあると誤った値を返します。
    KB814506に、「IEの問題と認識しているが修正しない」という旨の内容が書いてありました

    キャンセル

  • 2017/12/27 23:09

    To: x_x さん
    補足ありがとうございます。
    display: none; で表示しない状態にすると、cellindex 値がずれてしまう仕様だったのですね。

    キャンセル

  • 2017/12/29 10:51

    think49さんはこの質問に対して親身になって回答してくださったので、ベストアンサーをthink49さんのものに変更させて頂きました。

    キャンセル

+5

ベンダー提供のサイトですし、今やMSの情報を取得しようとすると転送される技術文書まとめサイトのようになっています。
厳密なところまで見たいならもちろん仕様書を当たったほうがいいでしょうが、そうでなければこれ以上はないのではないでしょうか?

Mozilla、Microsoft、Googleがブラウザ横断Webドキュメントネットワーク構築で協力
http://www.itmedia.co.jp/news/articles/1710/19/news072.html

マイクロソフト、Google、W3C、Mozillaらが協力。それぞれのWebブラウザのドキュメントをMozillaサイトに一本化。あちこちのWebサイトを見て回らなくても済むように
http://www.publickey1.jp/blog/17/googlew3cmozillawebmozillaweb.html

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/22 21:06

    う~ん、2017年10月の記事なので、新しすぎますね。2,3年のうちによくなるようなイメージですね。とりあえずMDNの誤記2つ、ログインして指摘しておきますね。

    キャンセル

-4

2017年12月27日現在での結論です。質問の投稿当時はMDNの翻訳コミュニティと関わりが無かったのですが、今現在ではMDNの翻訳コミュニティと関りを持っています。なので、そのコミュニティの内部から見た回答としてご覧いただければと思います。

MDNには日本語翻訳のコミュニティがあり、少ない人数ですが細々と翻訳のボランティアをしてくださっています。今はボランティアの数よりも翻訳対象のドキュメントの数の方が圧倒的に多く、翻訳されていないページも多いというのが実情です。Glossary(用語集)とLearning Area(初心者用ページ)が特に手つかずであると聞いています。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/27 23:20

    解決したようですが、質問の趣旨から大きく外れた方向に結論が向いているように思いました。

    質問「MDN(Mozilla Developer Network)って使えますか?」
    回答(ベストアンサー)「MDNは翻訳が追い付いていなく、英語の記事においても有志が書いているので間違いが多いです。しかし、MDNは有志の数が少ない現状から貢献する余地の大きい重要なサイトだと認識しています。今は他のサイトに比べて劣っているところも多いですが、Ubuntuなどのように「なんだかんだ言ってもMDNが使いやすいよね」と言われるようなサイトにしていきたいと考えていますので、積極的に翻訳/記事編集に参加して下さい。よろしくお願いします。」

    MDNの宣伝に論旨がすり替わっていませんか。
    また、質問者さんの中で結論が出ている質問のようですが、回答者側としては「結論が出ている質問に正解を出せるか試されている」ように感じて、いい気はしませんでした。

    ---
    MDNの利用者側の立場で考えると、この回答ではMDNは間違いだらけで使う気が起きないと思います。
    MDNは間違いを訂正できる上級者が記事修正に参加する必要がある発展途上のサイトであり、今はまだ何も知らない初心者が利用すべきではないサイト、という結論になります。

    キャンセル

  • 2017/12/28 09:53

    そうなんですよ。そうなんです。だから私も正直MDNを今はおすすめできないんですよ。

    キャンセル

  • 2017/12/28 10:07

    think49さんが、「始めに結論ありき」ということを思われたかと思いますが、そうではなくて、私なりにMDNを調べているうちに分かったことを書いたわけなので、そこは誤解されないようにお願いいたします。私がコミュニティに参加したのは、この質問を書いた後ですので。あと、宣伝を書くな!というご意見はごもっともだと思います。しかし、単にバッシング一色の解答だとMDNくそじゃん、で終わりになっちゃうので、私なりにフォローしたかったわけです。

    キャンセル

  • 2017/12/28 10:23

    コメント見れば、この回答、理解が出来なくもないですが、回答だけ見るとやっぱり think49 さんの指摘のようにちょっと気持ち悪いです。
    質問後にコミュニティに参加した上で、コミュニティ内の状況を鑑みて回答を作った。ということが分かる内容に修正してみてはいかがでしょうか?

    キャンセル

  • 2017/12/28 12:00

    頼む。これ以上私を疲れさせないでくれ~、MDNの翻訳の方でもせっつかれているんだから~

    キャンセル

  • 2017/12/28 12:04

    回答としては正しくないと思うので、評価下げておきますが、理解しました。

    キャンセル

  • 2017/12/31 14:42

    think49さん、te2jiさん:
    teratailの運用規則を見直して、自分には至らない所が多かったと反省しています。回答の方を修正させて頂きました。

    キャンセル

  • 2017/12/31 14:55

    修正確認しました。どのコミュニティも翻訳作業、大変みたいですね。。。お疲れ様です。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.07%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • JavaScript

    13279questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    7230questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • CSS

    4610questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

  • HTML5

    3273questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • CSS3

    1701questions

    CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。