Debugging Typescript
So I'm new to Typescript, and recently converted a React project to TS to suss the benefits. I managed to convert and compile it all, and I can step through it, in the same way, I stepped through the JS code, however, I've hit a snag.
I usually like to pause at a given line and play around with code snippets in the watch window to see what might be happening. This particular issue was a use of instanceOf of a custom type I had defined, which is obviously not valid JS, as JS doesn't have types. But it meant I couldn't evaluate the highlighted code in the watch window because it doesn't understand TS. If I want to move to TS, do I lose this ability due to the conversion to JS? Or is there a way around it?
I'm using React with Webpack, debugging in Chrome via Visual Studio Code.
javascript reactjs typescript debugging webpack
add a comment |
So I'm new to Typescript, and recently converted a React project to TS to suss the benefits. I managed to convert and compile it all, and I can step through it, in the same way, I stepped through the JS code, however, I've hit a snag.
I usually like to pause at a given line and play around with code snippets in the watch window to see what might be happening. This particular issue was a use of instanceOf of a custom type I had defined, which is obviously not valid JS, as JS doesn't have types. But it meant I couldn't evaluate the highlighted code in the watch window because it doesn't understand TS. If I want to move to TS, do I lose this ability due to the conversion to JS? Or is there a way around it?
I'm using React with Webpack, debugging in Chrome via Visual Studio Code.
javascript reactjs typescript debugging webpack
you don't have the ability to use Typescript in the console, but you can still use JS to evaluate things in the console
– Thomas
Nov 13 '18 at 0:07
JS has types. Tryclass A ; let x = new A(); console.log(x instanceof A)
. Or did you mean for interfaces (or actual TS types with thetype
keyword)?
– Frank Modica
Nov 13 '18 at 0:12
I'm comparing it with classes I've exported. But the console doesn't know about them.
– Daniel
Nov 13 '18 at 0:38
Insertdebugger;
statements into your TypeScript. It should pause execution if you have the inspection window open. If you compile it with source maps enabled, your browser should give you the option to show you the TypeScript in the debugger instead of the JavaScript.
– amphetamachine
Nov 14 '18 at 15:35
add a comment |
So I'm new to Typescript, and recently converted a React project to TS to suss the benefits. I managed to convert and compile it all, and I can step through it, in the same way, I stepped through the JS code, however, I've hit a snag.
I usually like to pause at a given line and play around with code snippets in the watch window to see what might be happening. This particular issue was a use of instanceOf of a custom type I had defined, which is obviously not valid JS, as JS doesn't have types. But it meant I couldn't evaluate the highlighted code in the watch window because it doesn't understand TS. If I want to move to TS, do I lose this ability due to the conversion to JS? Or is there a way around it?
I'm using React with Webpack, debugging in Chrome via Visual Studio Code.
javascript reactjs typescript debugging webpack
So I'm new to Typescript, and recently converted a React project to TS to suss the benefits. I managed to convert and compile it all, and I can step through it, in the same way, I stepped through the JS code, however, I've hit a snag.
I usually like to pause at a given line and play around with code snippets in the watch window to see what might be happening. This particular issue was a use of instanceOf of a custom type I had defined, which is obviously not valid JS, as JS doesn't have types. But it meant I couldn't evaluate the highlighted code in the watch window because it doesn't understand TS. If I want to move to TS, do I lose this ability due to the conversion to JS? Or is there a way around it?
I'm using React with Webpack, debugging in Chrome via Visual Studio Code.
javascript reactjs typescript debugging webpack
javascript reactjs typescript debugging webpack
asked Nov 12 '18 at 23:57
DanielDaniel
132
132
you don't have the ability to use Typescript in the console, but you can still use JS to evaluate things in the console
– Thomas
Nov 13 '18 at 0:07
JS has types. Tryclass A ; let x = new A(); console.log(x instanceof A)
. Or did you mean for interfaces (or actual TS types with thetype
keyword)?
– Frank Modica
Nov 13 '18 at 0:12
I'm comparing it with classes I've exported. But the console doesn't know about them.
– Daniel
Nov 13 '18 at 0:38
Insertdebugger;
statements into your TypeScript. It should pause execution if you have the inspection window open. If you compile it with source maps enabled, your browser should give you the option to show you the TypeScript in the debugger instead of the JavaScript.
– amphetamachine
Nov 14 '18 at 15:35
add a comment |
you don't have the ability to use Typescript in the console, but you can still use JS to evaluate things in the console
– Thomas
Nov 13 '18 at 0:07
JS has types. Tryclass A ; let x = new A(); console.log(x instanceof A)
. Or did you mean for interfaces (or actual TS types with thetype
keyword)?
– Frank Modica
Nov 13 '18 at 0:12
I'm comparing it with classes I've exported. But the console doesn't know about them.
– Daniel
Nov 13 '18 at 0:38
Insertdebugger;
statements into your TypeScript. It should pause execution if you have the inspection window open. If you compile it with source maps enabled, your browser should give you the option to show you the TypeScript in the debugger instead of the JavaScript.
– amphetamachine
Nov 14 '18 at 15:35
you don't have the ability to use Typescript in the console, but you can still use JS to evaluate things in the console
– Thomas
Nov 13 '18 at 0:07
you don't have the ability to use Typescript in the console, but you can still use JS to evaluate things in the console
– Thomas
Nov 13 '18 at 0:07
JS has types. Try
class A ; let x = new A(); console.log(x instanceof A)
. Or did you mean for interfaces (or actual TS types with the type
keyword)?– Frank Modica
Nov 13 '18 at 0:12
JS has types. Try
class A ; let x = new A(); console.log(x instanceof A)
. Or did you mean for interfaces (or actual TS types with the type
keyword)?– Frank Modica
Nov 13 '18 at 0:12
I'm comparing it with classes I've exported. But the console doesn't know about them.
– Daniel
Nov 13 '18 at 0:38
I'm comparing it with classes I've exported. But the console doesn't know about them.
– Daniel
Nov 13 '18 at 0:38
Insert
debugger;
statements into your TypeScript. It should pause execution if you have the inspection window open. If you compile it with source maps enabled, your browser should give you the option to show you the TypeScript in the debugger instead of the JavaScript.– amphetamachine
Nov 14 '18 at 15:35
Insert
debugger;
statements into your TypeScript. It should pause execution if you have the inspection window open. If you compile it with source maps enabled, your browser should give you the option to show you the TypeScript in the debugger instead of the JavaScript.– amphetamachine
Nov 14 '18 at 15:35
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53271837%2fdebugging-typescript%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53271837%2fdebugging-typescript%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
you don't have the ability to use Typescript in the console, but you can still use JS to evaluate things in the console
– Thomas
Nov 13 '18 at 0:07
JS has types. Try
class A ; let x = new A(); console.log(x instanceof A)
. Or did you mean for interfaces (or actual TS types with thetype
keyword)?– Frank Modica
Nov 13 '18 at 0:12
I'm comparing it with classes I've exported. But the console doesn't know about them.
– Daniel
Nov 13 '18 at 0:38
Insert
debugger;
statements into your TypeScript. It should pause execution if you have the inspection window open. If you compile it with source maps enabled, your browser should give you the option to show you the TypeScript in the debugger instead of the JavaScript.– amphetamachine
Nov 14 '18 at 15:35