Title
Type Checking for JavaScript
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, JS"0. 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.
Year
DOI
Venue
2005
10.1016/j.entcs.2005.09.010
Electr. Notes Theor. Comput. Sci.
Keywords
Field
DocType
static type system,flexible programming style,structural recursive types,scripting languages,flexible program development,powerful imperative,type error,potential member,type checking,non-existing member,dynamic addition,type system,javascript,object type,dynamic typing,scripting language,web pages
Type system,Dynamic HTML,Programming language,Computer science,Object type,Unobtrusive JavaScript,Theoretical computer science,Dynamic web page,JavaScript syntax,Server-side scripting,JavaScript
Journal
Volume
Issue
ISSN
138
2
Electronic Notes in Theoretical Computer Science
Citations 
PageRank 
References 
15
1.60
7
Authors
2
Name
Order
Citations
PageRank
Christopher Anderson1151.60
Paola Giannini244950.00