Does Intellisense really show that Javascript is typed (see previous post)?

A good buddy (and great (Flex [Shhhh!!] programmer) wrote to me offline (to spare me embarassment) and asked, among other questions answered by Justin in his comment at the end of the previous blog entry,  the following:

"I also didn't understand what you said about converting the typeless objects to typed variables being why intellisense works.  What I can see in your screen shot is that the editor knows that "Convert" is a (static?) object with some type, and can display its methods.  Is it also able to pop up an intellisense menu when you press "." after a variable name?  If so, that would be an illustration of your point."

Good point. Here you go…

  

Intellisense is now treating mouseDownStoryBoard as if it is of type StoryBoard, at design time. That is, even though it is a var, it is effectively typed by the Convert statement.

 I also want to draw your attention to Justin's explanation of why this does make Javascript (nearly) typed in the comments in the previous post. He does a nice job walking through one set of criteria for a typed language and showing that with his code, Javascript now meets those requirements.

But then I want to apologize. When I write here, I am not writing as Jesse Liberty, geek. I am writing, I'm told, as Jesse Liberty, blue badge Microsoft employee, Silverlight Geek, and I should learn to be more careful. Shawn, and my buddy above, and others were right to call me out on not qualifying what I was saying with more terms like  "nearly typed" or "type-ish" or whatever, and re-reading my answer to Shawn I was far too defensive (fortunately, he too is a friend).   I will be more careful in the future.

That said, the truth is that I also have this caveat: this is a blog, not an edited set of papers, and so I'm bound to get things wrong. Feel free to challenge me in the comments, I'll feel free to fix my mistakes, and we'll all live to see another day 🙂

 Thanks again,

 -j

 

About Jesse Liberty

Jesse Liberty has three decades of experience writing and delivering software projects and is the author of 2 dozen books and a couple dozen online courses. His latest book, Building APIs with .NET will be released early in 2025. Liberty is a Senior SW Engineer for CNH and he was a Senior Technical Evangelist for Microsoft, a Distinguished Software Engineer for AT&T, a VP for Information Services for Citibank and a Software Architect for PBS. He is a Microsoft MVP.
This entry was posted in z Silverlight Archives and tagged . Bookmark the permalink.