05.08.2011, 21:35
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры. Просто так проще думается, т.к. частенько приходится лезть в языки, в которых это слово справедливо на 100% (например C# или PHP) и чтобы не создавать каши в голове.
Конечно можно тыкать лицом в спецификацию и говорить, что в JS нет классов Но вспомните, разве вас не раздражало в школе/университете, когда вы рассказываете учителю определение, но своими словами, а он ставит вам 2/пересдачу и говорит учить 1 в 1, как в учебнике (разумеется, обидно, если вы действительно говорили правильно ).
Важно то, что человек вкладывает в слово)
ЗЫ: например, у меня был случай на 2-м курсе универа на ВычМате: экзамен, рассказываю определение определённого интеграла: "это площадь подынтегральной кривой", а мне ставят минус бал и говорят: "это число"
Последний раз редактировалось kobezzza, 06.08.2011 в 08:52.
|
|
05.08.2011, 21:49
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от dmitriymar
|
На уровне языка реализовано наследование на прототипах.
|
ключевое слово class вообще ничего не говорит о наследовании, просто в JS нет абстрактной прослойки с ключевым словом class, и оно не используется, хотя и присутствует в спецификации [[Class]]. Вот как это будет в ES7 (Strawman):
<script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/traceur.js" type="text/javascript"></script>
<script src="http://traceur-compiler.googlecode.com/svn/branches/v0.10/src/bootstrap.js" type="text/javascript"></script>
<script type="text/traceur">
class Foo {
new(message) {
this.message = message;
}
method() {
let element = document.querySelector('body');
element.innerHTML = this.message;
}
};
let foo = new Foo('Hello, world!');
foo.method();
</script>
PS: для запуска примера, нужно чуть подождать т.к. парсится долго или что-то сломалось у них ((
Последний раз редактировалось monolithed, 05.08.2011 в 22:08.
|
|
05.08.2011, 22:02
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от kobezzza
|
А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры. Просто так проще думается, т.к. частенько приходится лезть в языки, в которых это слово справедливо на 100% (например C# или PHP) и чтобы не создавать каши в голове.
|
Таким образом ты пытаешься создать кашу в чужой голове?
Если ты знаешь о чем говоришь и знаешь название, то нужно называть понятие своим названием, чтобы другие могли тебя однозначно понимать.
На форуме часто встречается явление непонимания собеседников из-за плохих формулировок. Меня поначалу тоже тыкали в то, что java это другой язык. Теперь я не путаю понятия и недопонимание возникает реже.
mister_maxim,
карма вырастет, когда ты сделаешь что-то достойное внимания или хорошее и полезное для общества.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
05.08.2011, 22:12
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Таким образом ты пытаешься создать кашу в чужой голове?
|
Ну вот пример: мне дали вести студентам вводный курс по JS, в один семестр они параллельно курят также шарп/делфи, и у них и так в голове чёрт знает что, поэтому нужно упрощать терминологию и программу. Я им естественно рассказал, как всё устроено на самом деле, но им реально проще понимается, если говорить слова, которые они уже слышали . Конечно, опыта преподавания у меня очень мало (всего пол года), но уже небольшие заметки сделал, как что рассказать проще и лучше.
Вспомните, как нам врали в школе, что делить на ноль нельзя, или, что корня из отрицательного числа не существует) Мы бы тогда просто не поняли)
Цитата:
|
Если ты знаешь о чем говоришь и знаешь название, то нужно называть понятие своим названием, чтобы другие могли тебя однозначно понимать.
|
Абсолютно согласен, но иногда можно сделать исключение, например я больше чем уверен, что если бы я при разговоре с тобой сказал бы слово класс в контексте JS, то ты бы прекрасно понял, что я имею ввиду
Последний раз редактировалось kobezzza, 05.08.2011 в 22:19.
|
|
05.08.2011, 22:19
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от kobezzza
|
Вспомните, как нам врали в школе, что делить на ноль нельзя
|
никто вам не врал, вас пытались уберечь от жестокой реальности:
Цитата:
|
считается, что попытка представить получающуюся в итоге актуальную бесконечность ведёт к сумасшествию совершившего это
|
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
05.08.2011, 22:21
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
считается, что попытка представить получающуюся в итоге актуальную бесконечность ведёт к сумасшествию совершившего это
|
ахахаххахах ну тогда ок
|
|
06.08.2011, 00:34
|
|
:-/
|
|
Регистрация: 28.09.2009
Сообщений: 1,126
|
|
Сообщение от kobezzza
|
А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры.
|
+1
|
|
06.08.2011, 17:41
|
Аспирант
|
|
Регистрация: 09.02.2009
Сообщений: 57
|
|
dmitriymar,
Очень недобрый ты чел., я бы тебе еще один минус бахнул, но толку..
только минус еще получу.. и будем друг дуржку минусы кидать... по сути война пойдёт.
Ты войны хочешь?
Господь Бог тебе судья - Он всё видит и за всё наказывает.
Придираешься к любой букве, ну если и придираться к любой букве, то что из этого получается?
Что на этом форуме нельзя слово "класс" вообще писать?
В рамках языка JS нет таких терминов как jquery, фреймворк, и многих других, однако их пишут, и о них говорят, пользуются,
это всё уже дополнения, вспомогательные инструменты, аналогично и классы, тем более, что
классы можно построить в полной мере соответствующие с логико-практической точки зрения классам из С++, и наследования и приватные методы...
и подразумевающиеся полиморфизм с инкапсуляцией. И я их строил.
"классов в я зыке" - ты пробел в середине слова лишний поставил, слова 'зыке' нет в русском языке с тем смыслом который тут фигурирует.
Я не говорил что писал "классы в языке", я говорил написал класс, без в "языке".
"от того что ты сам их писал они .....", и что вместо точек, ПИ стоит?
Ну в таком случае аналогично скажу что я о тебе думаю: .........................
Вот с чем соглашусь - так это то что в самом языке javascript нет нативной поддержки классов, такой как она есть в С++, но любые конструкции можно построить на javascript, хоть сам ассемблер на побитовом уровне реализовать, было бы желание.
|
|
06.08.2011, 17:47
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от mister_maxim
|
в самом языке javascript нет нативной поддержки классов, такой как она есть в С++
|
С++ не очень хороший пример, т.к. в нем много лишних абстракции.
|
|
06.08.2011, 20:38
|
Профессор
|
|
Регистрация: 29.06.2011
Сообщений: 445
|
|
Зерно истины есть в его словах. В конечном итоге, важно, что он имел в виду, употребляя слово "класс". И я тоже часто могу его употребить, имея в виду общий конструктор для группы объектов. Могу так сказать, и говорю. Не потому что я не знаю, что это в общем-то не класс, а просто потому что это удобный способ обобщения. А пинать только за одно слово.. Как-то это некрасиво, да.
|
|
|
|