Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 05.08.2011, 20:35
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры. Просто так проще думается, т.к. частенько приходится лезть в языки, в которых это слово справедливо на 100% (например C# или PHP) и чтобы не создавать каши в голове.

Конечно можно тыкать лицом в спецификацию и говорить, что в JS нет классов Но вспомните, разве вас не раздражало в школе/университете, когда вы рассказываете учителю определение, но своими словами, а он ставит вам 2/пересдачу и говорит учить 1 в 1, как в учебнике (разумеется, обидно, если вы действительно говорили правильно).

Важно то, что человек вкладывает в слово)

ЗЫ: например, у меня был случай на 2-м курсе универа на ВычМате: экзамен, рассказываю определение определённого интеграла: "это площадь подынтегральной кривой", а мне ставят минус бал и говорят: "это число"
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 06.08.2011 в 07:52.
Ответить с цитированием
  #12 (permalink)  
Старый 05.08.2011, 20:49
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 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 в 21:08.
Ответить с цитированием
  #13 (permalink)  
Старый 05.08.2011, 21:02
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от kobezzza Посмотреть сообщение
А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры. Просто так проще думается, т.к. частенько приходится лезть в языки, в которых это слово справедливо на 100% (например C# или PHP) и чтобы не создавать каши в голове.
Таким образом ты пытаешься создать кашу в чужой голове?

Если ты знаешь о чем говоришь и знаешь название, то нужно называть понятие своим названием, чтобы другие могли тебя однозначно понимать.

На форуме часто встречается явление непонимания собеседников из-за плохих формулировок. Меня поначалу тоже тыкали в то, что java это другой язык. Теперь я не путаю понятия и недопонимание возникает реже.

mister_maxim,
карма вырастет, когда ты сделаешь что-то достойное внимания или хорошее и полезное для общества.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #14 (permalink)  
Старый 05.08.2011, 21:12
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Таким образом ты пытаешься создать кашу в чужой голове?
Ну вот пример: мне дали вести студентам вводный курс по JS, в один семестр они параллельно курят также шарп/делфи, и у них и так в голове чёрт знает что, поэтому нужно упрощать терминологию и программу. Я им естественно рассказал, как всё устроено на самом деле, но им реально проще понимается, если говорить слова, которые они уже слышали. Конечно, опыта преподавания у меня очень мало (всего пол года), но уже небольшие заметки сделал, как что рассказать проще и лучше.

Вспомните, как нам врали в школе, что делить на ноль нельзя, или, что корня из отрицательного числа не существует) Мы бы тогда просто не поняли)

Цитата:
Если ты знаешь о чем говоришь и знаешь название, то нужно называть понятие своим названием, чтобы другие могли тебя однозначно понимать.
Абсолютно согласен, но иногда можно сделать исключение, например я больше чем уверен, что если бы я при разговоре с тобой сказал бы слово класс в контексте JS, то ты бы прекрасно понял, что я имею ввиду
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 05.08.2011 в 21:19.
Ответить с цитированием
  #15 (permalink)  
Старый 05.08.2011, 21:19
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от kobezzza Посмотреть сообщение
Вспомните, как нам врали в школе, что делить на ноль нельзя
никто вам не врал, вас пытались уберечь от жестокой реальности:
Цитата:
считается, что попытка представить получающуюся в итоге актуальную бесконечность ведёт к сумасшествию совершившего это
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #16 (permalink)  
Старый 05.08.2011, 21:21
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
считается, что попытка представить получающуюся в итоге актуальную бесконечность ведёт к сумасшествию совершившего это
ахахаххахах ну тогда ок
__________________
kobezzza
code monkey
Ответить с цитированием
  #17 (permalink)  
Старый 05.08.2011, 23:34
Аватар для Shaci
:-/
Отправить личное сообщение для Shaci Посмотреть профиль Найти все сообщения от Shaci
 
Регистрация: 28.09.2009
Сообщений: 1,125

Сообщение от kobezzza Посмотреть сообщение
А я например часто произношу слово класс в контексте JS, подразумевая, что эта функция либо возвращает фабричный-объект, либо нужно использовать с new, короче то, что порождает экземпляры.
+1
Ответить с цитированием
  #18 (permalink)  
Старый 06.08.2011, 16:41
Аспирант
Отправить личное сообщение для mister_maxim Посмотреть профиль Найти все сообщения от mister_maxim
 
Регистрация: 09.02.2009
Сообщений: 57

dmitriymar,
Очень недобрый ты чел., я бы тебе еще один минус бахнул, но толку..
только минус еще получу.. и будем друг дуржку минусы кидать... по сути война пойдёт.
Ты войны хочешь?
Господь Бог тебе судья - Он всё видит и за всё наказывает.

Придираешься к любой букве, ну если и придираться к любой букве, то что из этого получается?
Что на этом форуме нельзя слово "класс" вообще писать?
В рамках языка JS нет таких терминов как jquery, фреймворк, и многих других, однако их пишут, и о них говорят, пользуются,
это всё уже дополнения, вспомогательные инструменты, аналогично и классы, тем более, что
классы можно построить в полной мере соответствующие с логико-практической точки зрения классам из С++, и наследования и приватные методы...
и подразумевающиеся полиморфизм с инкапсуляцией. И я их строил.

"классов в я зыке" - ты пробел в середине слова лишний поставил, слова 'зыке' нет в русском языке с тем смыслом который тут фигурирует.
Я не говорил что писал "классы в языке", я говорил написал класс, без в "языке".

"от того что ты сам их писал они .....", и что вместо точек, ПИ стоит?
Ну в таком случае аналогично скажу что я о тебе думаю: .........................

Вот с чем соглашусь - так это то что в самом языке javascript нет нативной поддержки классов, такой как она есть в С++, но любые конструкции можно построить на javascript, хоть сам ассемблер на побитовом уровне реализовать, было бы желание.
Ответить с цитированием
  #19 (permalink)  
Старый 06.08.2011, 16:47
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от mister_maxim
в самом языке javascript нет нативной поддержки классов, такой как она есть в С++
С++ не очень хороший пример, т.к. в нем много лишних абстракции.
Ответить с цитированием
  #20 (permalink)  
Старый 06.08.2011, 19:38
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Зерно истины есть в его словах. В конечном итоге, важно, что он имел в виду, употребляя слово "класс". И я тоже часто могу его употребить, имея в виду общий конструктор для группы объектов. Могу так сказать, и говорю. Не потому что я не знаю, что это в общем-то не класс, а просто потому что это удобный способ обобщения. А пинать только за одно слово.. Как-то это некрасиво, да.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поюзайте хомячка Nanto Ваши сайты и скрипты 30 06.06.2011 21:16
Как (эффективно) изучать JavaScript? JSTalker Общие вопросы Javascript 33 23.12.2010 02:13
Zend и Pear для нуба mycoding Серверные языки и технологии 52 13.12.2010 17:32
Разбираем AjaxOOP eai Общие вопросы Javascript 41 04.11.2010 22:37
Браузер доказывает что не видит функцию SleepWalker Общие вопросы Javascript 7 17.06.2009 22:14