Skip to main navigation Skip to search Skip to main content

Type checking for JavaScript

Research output: Contribution to journal › Conference article › peer-review

Abstract

JavaScript is a powerful imperative object based language made popular by its use in web pages. It supports flexible program development by allowing dynamic addition of members to objects. Code is dynamically typed: a runtime access to a non-existing member causes an error. We suggest a static type system for JavaScript that will detect such type errors. Therefore, programmers can benefit from the flexible programming style offered by JavaScript and from the safety offered by a static type system. We demonstrate our type system with a formalism of JavaScript, JS0. Our types are structural. Members of an object type are classified into definite and potential. A potential member becomes definite upon assignment. We outline a proof that our type system is sound.

Original languageEnglish
Pages (from-to)37-58
Number of pages22
JournalElectronic Notes in Theoretical Computer Science
Volume138
Issue number2
DOIs
Publication statusPublished - 23 Nov 2005
EventProceedings of the Second Workshop on Object Oriented Developments (WOOD 2004) -
Duration: 30 Aug 2004 → 30 Aug 2004

Keywords

  • JavaScript
  • Scripting Languages
  • Structural Recursive Types
  • Type Checking

Fingerprint

Dive into the research topics of 'Type checking for JavaScript'. Together they form a unique fingerprint.

Cite this