私はリートコードでこの質問に取り組んでいました:
MapSum クラスを実装します。
MapSum() MapSum オブジェクトを初期化します。void insert(String key, int val) キーと値のペアをマップに挿入します。キーがすでに存在する場合、元のキーと値のペアは新しいものに上書きされます。int sum(string prefix) キーがプレフィックスで始まるすべてのペアの値の合計を返します。
JavaScript では、質問を解決するためのテンプレートは次のとおりです。
/**
* Initialize your data structure here.
*/
var MapSum = function() {
};
/**
* @param {string} key
* @param {number} val
* @return {void}
*/
MapSum.prototype.insert = function(key, val) {
};
/**
* @param {string} prefix
* @return {number}
*/
MapSum.prototype.sum = function(prefix) {
};
/**
* Your MapSum object will be instantiated and called as such:
* var obj = new MapSum()
* obj.insert(key,val)
* var param_2 = obj.sum(prefix)
*/
私はクラスのテンプレートに感銘を受けました。私はこれに似たJavaScriptクラスを見ることに慣れています:
class MapSum {
constructor() {
}
insert(key, value) {
}
sum(prefix) {
}
}
テンプレート leetcode は提供されており、クラスと見なされていますか? どんなクラスですか?関数式( )を介してオブジェクトを初期化するとき、それは何と呼ばれますvar MapSum = function() { //....}
か? クラスをそのように書くことと、私が提案した方法との最大の違い/意味は何ですか?