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

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

新規登録して質問してみよう
ただいま回答率
85.37%
JavaScript

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

継承

継承(インヘリタンス)はオブジェクト指向プログラミングに存在するシステムです。継承はオブジェクトが各自定義する必要をなくし、継承元のオブジェクトで定義されている内容を引き継ぎます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

解決済

1回答

2625閲覧

Mapの継承時エラーの改善(TypeScript)

YOS_G-sepc

総合スコア29

JavaScript

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

継承

継承(インヘリタンス)はオブジェクト指向プログラミングに存在するシステムです。継承はオブジェクトが各自定義する必要をなくし、継承元のオブジェクトで定義されている内容を引き継ぎます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

1クリップ

投稿2020/03/18 12:16

編集2020/03/18 12:33

前提・実現したいこと

TypeScriptにてMapを継承し、機能を拡張することを試みています。
素のJavaScriptでは特に問題は起きないのですが、TypeScriptを通すとエラーが発生してしまいます。

発生している問題・エラーメッセージ

myMap.ts:3:19 - error TS2554: 0 個の引数が必要ですが、1 個指定されました。 3 var map=new MyMap([ ~ 4 ["A","a"], ~~~~~~~~~~~ ... 8 ["E","e"] ~~~~~~~~~~ 9 ]); ~ Found 1 error.

該当のソースコード

TypeScript

1class MyMap extends Map{} 2 3//var map=new Map([ //エラーは起きない 4var map=new MyMap([ //エラーが起きる 5 ["A","a"], 6 ["B","b"], 7 ["C","c"], 8 ["D","d"], 9 ["E","e"] 10]); 11 12console.log(map);

試したこと

コンストラクタに対して@ts-ignoreを使用すればエラーを抑えることはできましたが釈然としません。
使うのは最後の手段としたいところです。

補足情報

環境

$ tsc -v Version 3.8.3 $ node -v v12.14.1

コマンド

$ tsc --locale ja-JP -t esnext myMap.ts

適切な対応がありましたらお教えいただけると嬉しいです。
よろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

型引数も含んで継承させてください。

typescript

1class MyMap<K, V> extends Map<K, V>{}

投稿2020/03/18 13:08

maisumakun

総合スコア145932

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YOS_G-sepc

2020/03/18 13:20

解決できました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問