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 Anderson | 1 | 15 | 1.60 |
Paola Giannini | 2 | 449 | 50.00 |