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

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

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

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

Q&A

0回答

268閲覧

contextual type inference(文脈型推論)が効かない件

TOMIYASU_chan

総合スコア21

TypeScript

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

0グッド

0クリップ

投稿2020/07/24 01:02

編集2020/07/24 01:04

文脈上の型付けが私の環境ではなされていないようで、以下のようなコードでは、本来ならばonmousedown関数の型から推論して、代入されようとしている関数の引数mouseEventのプロパティーであるボタンのタイポのエラーを吐いてくれないといけないはずなのにmouseEventがanyでとなるエラーがでます。環境設定の問題でしょうか?

TypeScript

1 window.onmousedown = function(mouseEvent) { 2 console.log(mouseEvent.buton) // ← タイポ 3 };

lib.dom.d.ts

TypeScript

1onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null;

TypeScript

1interface MouseEvent extends UIEvent { 2 readonly altKey: boolean; 3 readonly button: number; 4 /* 以下略 */ 5}

Error

1パラメーター 'mouseEvent' の型は暗黙的に 'any' になります。ts(7006)

tsconfig.json

JSON

1{ 2 "compilerOptions": { 3 "target": "es2016", 4 "module": "ES6", 5 "strict": true, 6 "strictNullChecks": true, 7 "moduleResolution": "node", 8 "esModuleInterop": true, 9 "declaration": false, 10 "sourceMap": false, 11 "outDir": "./dist/js/", 12 "rootDir": "./src/", 13 "lib": ["es6", "dom", "es2017", "es2018", "es2015.iterable","scripthost"], 14 "downlevelIteration": true, 15 "baseUrl": "./", 16 "typeRoots": ["node_modules/@types"], 17 "strictFunctionTypes": false, 18 /* Experimental Options */ 19 "experimentalDecorators": true, 20 "emitDecoratorMetadata": true, 21 "strictPropertyInitialization": true, 22 "noImplicitThis": true, 23 }, 24}

Visual Studio Code
バージョン: 1.47.2

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問