Primitiva

La primitiva

Примитив как объект

Вот парадокс, с которым столкнулся создатель JavaScript:

  • Есть много всего, что хотелось бы сделать с примитивами, такими как строка или число. Было бы замечательно, если бы мы могли работать с ними через вызовы методов.
  • Примитивы должны быть лёгкими и быстрыми.

Выбранное решение, хотя выглядит оно немного неуклюже:

  1. Примитивы остаются примитивами. Одно значение, как и хотелось.
  2. Язык позволяет осуществлять доступ к методам и свойствам строк, чисел, булевых значений и символов.
  3. Чтобы это работало, при таком доступе создаётся специальный «объект-обёртка», который предоставляет нужную функциональность, а после удаляется.

Каждый примитив имеет свой собственный «объект-обёртку», которые называются: , , и . Таким образом, они имеют разный набор методов.

К примеру, существует метод str.toUpperCase(), который возвращает строку в верхнем регистре.

Вот, как он работает:

Очень просто, не правда ли? Вот, что на самом деле происходит в :

  1. Строка – примитив. В момент обращения к его свойству, создаётся специальный объект, который знает значение строки и имеет такие полезные методы, как .
  2. Этот метод запускается и возвращает новую строку (показывается в ).
  3. Специальный объект удаляется, оставляя только примитив .

Получается, что примитивы могут предоставлять методы, и в то же время оставаться «лёгкими».

Движок JavaScript сильно оптимизирует этот процесс. Он даже может пропустить создание специального объекта. Однако, он всё же должен придерживаться спецификаций и работать так, как будто он его создаёт.

Число имеет собственный набор методов. Например, toFixed(n) округляет число до n знаков после запятой.

Более подробно с различными свойствами и методами мы познакомимся в главах Числа и Строки.

Конструкторы предназначены только для внутреннего пользования

Некоторые языки, такие как Java, позволяют явное создание «объектов-обёрток» для примитивов при помощи такого синтаксиса как или .

В JavaScript, это тоже возможно по историческим причинам, но очень не рекомендуется. В некоторых местах последствия могут быть катастрофическими.

Например:

Объекты в всегда дают , так что в нижеприведённом примере будет показан :

С другой стороны, использование функций без оператора – вполне разумно и полезно. Они превращают значение в соответствующий примитивный тип: в строку, в число, в булевый тип.

К примеру, следующее вполне допустимо:

null/undefined не имеют методов

Особенные примитивы и являются исключениями. У них нет соответствующих «объектов-обёрток», и они не имеют никаких методов. В некотором смысле, они «самые примитивные».

Попытка доступа к свойствам такого значения возвратит ошибку:

Оцените статью

Значение слова «примитив»

3d studio max: первые шаги.  урок 2. моделирование объектов на основе примитивов | компьютерпресс

Химический состав ягод

Плоды этого сорта содержат огромное количество сахара, дубильных веществ и витаминов. Виноград замедляет процесс старения, помогает справиться с простудой и восстанавливает работоспособность при упадке сил. Кроме того, сок ягод препятствует образованию тромбов, благодаря чему снижается риск появления инсульта или инфаркта. Его также используют для профилактики запора. Ведь виноград способен запустить даже самый ленивый кишечник.

Сок спелых ягод отлично залечивает печень и защищает организм от инфекции. Таким свойством обладают прежде всего сорта темного винограда, к которым и относится Примитиво. Учеными была замечена следующая особенность: чем темнее виноград, тем больше антиоксидантов содержится в его составе.

Сорт винограда

Это довольно раннеспелый сорт. Первые сочные гроздья поспевают уже в начале августа и продолжают созревать до середины сентября. Вино Primitivo из этого винограда получается чрезвычайно насыщенным, с густым черным цветом и ароматом лесных ягод. Ценители вина находят в «Примитиво» вкус и аромат малины, гвоздики и вишни. Это настоящее сладкое крепленое вино, выполненное в необычном крестьянском стиле.

В составе ягод достаточно много сахара, количество которого иногда достигает тридцати процентов. Благодаря этому качеству, при добавлении дрожжей можно получить напиток крепостью в семнадцать градусов. Плоды некрупные и имеют темно-фиолетовый, почти черный оттенок. Из-за того, что у ягод короткие черешки, они достаточно плотно расположены на гроздьях.

Из недостатков этого сорта отмечают склонность к горошению. А также из-за высокой плотности прилегания перезревшие ягоды начинают гнить, в то время как одна четвертая часть грозди остается зеленой. Такое неравномерное вызревание чрезвычайно неудобно для сборщиков урожая и производителей.

Методы toString/valueOf

Методы и берут своё начало с древних времён. Они не символы, так как в то время символов ещё не существовало, а просто обычные методы объектов со строковыми именами. Они предоставляют «устаревший» способ реализации преобразований объектов.

Если нет метода , движок JavaScript пытается найти эти методы и вызвать их следующим образом:

  • для хинта со значением «string».
  • – в ином случае.

Для примера, используем их в реализации всё того же объекта . Воспроизведём его поведение комбинацией методов и :

Как видим, получилось то же поведение, что и в предыдущем примере с .

Довольно часто мы хотим описать одно «универсальное» преобразование объекта к примитиву для всех ситуаций. Для этого достаточно создать один :

В отсутствие и , обработает все случаи преобразований к примитивам.

Красное полусухое

В производстве вин чаще всего используется только один сорт винограда — Примитиво. Эти алкогольные напитки имеют аромат диких ягод, черной смородины, джема, вишни, мускатных орехов и какао. У них довольно свежее послевкусие с бархатистой и объемной структурой и приятными сладкими нотами.

Красное сухое вино Primonero Li Veli, помимо основного используемого сорта винограда Примитиво, также содержит сорт Негроамаро. В переводе «негроамаро» означает — «черный и горький». Он отлично дополняет сладкое «Примитиво» и придает ему необходимый баланс вкуса. Полусухое красное вино Primitivo Feudi di San Marzano разбавлено довольно известным сортом Мерло, широко используемым при приготовлении французских вин.

Словом, производители умело дополняют основу, состоящую из «Примитиво», другими сортами винограда и получают новые великолепные напитки.

География вина

Сорт винограда был обнаружен на границе с Хорватией. Как уже было сказано, он имеет связь с сортом Плавац. В Италии существует две области, которые в промышленных масштабах занимаются выращиванием Примитиво. Это Мандурия и провинция Бари. Начиная с 1970 года площадь посадок постепенно уменьшалась. Например, если в семидесятые годы было высажено более сорока семи тысяч гектаров, то уже в 2000-м площадь уменьшилась до восьми тысяч.

Примечательным является тот факт, что в начале девятнадцатого века итальянский сорт был представлен в Америке, но только под другим именем. Он настолько понравился жителям США, что тут же получил звание «национального американского винограда». Только путем кропотливых исследований было доказано, что американский сорт Зинфандель и есть тот самый итальянский Примитиво.

Возвращаемые типы

Важно понимать, что все описанные методы для преобразований объектов не обязаны возвращать именно требуемый «хинтом» тип примитива. Нет обязательного требования, чтобы возвращал именно строку, или чтобы метод возвращал именно число для хинта «number»

Нет обязательного требования, чтобы возвращал именно строку, или чтобы метод возвращал именно число для хинта «number».

Единственное обязательное требование: методы должны возвращать примитив, а не объект.

Историческая справка

По историческим причинам, если или вернёт объект, то ошибки не будет, но такое значение будет проигнорировано (как если бы метода вообще не существовало).

Метод , напротив, обязан возвращать примитив, иначе будет ошибка.

История происхождения

Сорт винограда Примитиво имеет связь с хорватским сортом Плавац Малый (Plavac Mali). Он был выведен в середине восемнадцатого века настоятелем монастыря Франческо Инделликати. Именно он и дал название винограду. В переводе с итальянского это слово означает «первый». На протяжении достаточно долгого времени виноматериалы из сорта Примитиво использовались только лишь для усиления цвета и вкуса других вин. Самостоятельной маркой вино из этого сорта стало сравнительно недавно.

Только благодаря современным технологиям удалось раскрыть настоящий вкус и аромат алкогольного напитка, приготовленного из этого сочного и ароматного винограда. На сегодняшний день выпускаются розовые, сладкие и красные вина Примитиво, известные во всем мире.

Оцените статью