1

私はリートコードでこの質問に取り組んでいました:

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() { //....}か? クラスをそのように書くことと、私が提案した方法との最大の違い/意味は何ですか?

4

1 に答える 1