Mercurial > js4py-pl
view core-javascript/simple-classes.rst @ 201:b6864a86e876 default tip
Przetłumaczone getting-started
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sun, 15 Jul 2012 13:27:27 +0200 |
| parents | fef162a89a47 |
| children |
line wrap: on
line source
Simple classes ============== JavaScript has objects, which through the object tree support inheritance. Almost all object-oriented languages have classes and instances, but JavaScript has neither. This will be explained later, along with a discussion of the consequences. For now our focus is on getting going with object-oriented programming. The easiest way to do this is via create. Definition ---------- Here's a factory function that creates classes. It returns a function called *cls*, which in turn when called returns instances. At it's heart is *create*, and also *apply* and *arguments*, which we've not seen before). .. literalinclude:: /core-javascript-work/library.js :language: javascript :start-after: start SimpleClass :end-before: end SimpleClass Why *cls*? ---------- We call the returned function *cls* because in JavaScript *class*, like *function* is a reserved word in JavaScript. However, in JavaScript the identifier *class* has no meaning, and cannot be used in any valid JavaScript program. It seems that they intended to provide a built-in class capability, but never got round to it. Fruit example ------------- Here's an example of the use of *SimpleClass*. There's a bug in it, and I've changed the test so it passes. Can you find the bug and fix the example? .. literalinclude:: /core-javascript-work/test_library.js :language: javascript :start-after: start SimpleClass :end-before: end SimpleClass
