JavaScriptにはクラスがありますか?
質問
先週、友人と口論になりました。彼は JavaScript にはクラスというものが存在しないと述べました。
私は、あなたが言うように、あるのだと言いました。
var object = new Object()
曰く、"as there is no word
class
が使われています。クラスではないので"。
誰が正しいのでしょうか?
メモとして、将来的にClassy JSの実装を簡潔にする必要がある場合。
https://github.com/tnhu/jsface
編集:2017年7月
ECMAScript 2015 で導入された JavaScript クラスは、主に JavaScript の既存のプロトタイプベースの継承の上に構文的な砂糖を乗せたものです。クラス構文は、JavaScript に新しいオブジェクト指向の継承モデルを導入しているわけではありません。JavaScript のクラスは、オブジェクトを作成し、継承を処理するための、より単純で明確な構文を提供します。
- Mozilla ES6 クラス。 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes
どのように解決するのですか?
技術的には、"JavaScript has no classes"という記述は正しいです。
JavaScriptはオブジェクト指向の言語ですが、オブジェクト指向のための クラスベースの言語 -であり、それは プロトタイプベースの言語 . この2つのアプローチには違いがありますが、JavaScriptをクラスベースの言語のように使うことができるため、(私を含め)多くの人はコンストラクタ関数を単に "クラス" と呼ぶことが多いようです。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptでクラスを定義するために使用できるテクニックと、そのトレードオフとは?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] Node.jsのES6クラスをrequireで作る
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?