|
Пишут ли в таком стиле?
ИМХО, очень даже неплохо получается.
defineOperation=function(the_class, name, operation){
Object.defineProperty(the_class.prototype, name, {get: Function(operation)})
}
defineOperation(Number, "inc", "return this+1")
defineOperation(Number, "double", "return this+this")
a=1
a=a.inc.inc
alert(a) // 3
alert(2..double) // 4
Person=function(name, lastName){
this.name=name
this.lastName=lastName
}
defineOperation(Person, "fullName", "return this.name + ' ' + this.lastName")
person1=new Person("Jack", "Smith")
person2=new Person("John", "Doe")
alert(person1.fullName)
alert(person2.fullName)
// Jack Smith
// John Doe
|
А зачем operation строка, а не функция?
|
Для краткости.
|
Аха, при этом ломается подсветка синтаксиса и оптимизация.
https://developer.mozilla.org/en-US/...rrow_functions По теме - надобность в динамическом модифицировании класса попросту не встречается на практике. |
Цитата:
Цитата:
|
Цитата:
Цитата:
Хотя, кому я все это рассказываю... |
Ещё двойные кавычки придётся экранизировать.
|
Еще и многострочный код геморройно будет писать.
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 03:44. |
|