TypeScript

Поделись знанием:
Перейти к: навигация, поиск
TypeScript
Класс языка:

мультипарадигмальный: объектно-ориентированное, обобщённое, функциональное, императивное, аспектно-ориентированное, событийно-ориентированное, прототипное программирование

Тип исполнения:

компиляция в JavaScript

Появился в:

2012

Автор:

Андерс Хейлсберг (англ. Anders Hejlsberg) (Microsoft)

Расширение файлов:

.ts.d.ts

Выпуск:

2.0.6 (23.10.2016)

Испытал влияние:

JavaScript, C#

Лицензия:

OWFa 1.0, Лицензия Apache (компилятор)

Сайт:

[www.typescriptlang.org/ escriptlang.org]

TypeScript — язык программирования, представленный Microsoft в 2012 году и позиционируемый как средство разработки веб-приложений, расширяющее возможности JavaScript[1][2][3][4][5][6].

Разработчиком языка TypeScript является Андерс Хейлсберг (англ. Anders Hejlsberg) создавший ранее Turbo Pascal, Delphi и C#.

Спецификации языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement (OWFa 1.0)[7].

TypeScript является обратно совместимым с JavaScript и компилируется в последний. Фактически, после компиляции программу на TypeScript можно выполнять в любом современном браузере или использовать совместно с серверной платформой Node.js. Код экспериментального компилятора, транслирующего TypeScript в JavaScript, распространяется под лицензией Apache. Его разработка ведётся в публичном репозитории через сервис GitHub[8].

TypeScript отличается от JavaScript возможностью явного[en] статического назначения типов, поддержкой использования полноценных классов (как в традиционных объектно-ориентированных языках), а также поддержкой подключения модулей. Что призвано повысить скорость разработки, облегчить читаемость, рефакторинг и повторное использования кода, помочь осуществлять поиск ошибок на этапе разработки и компиляции, и, возможно, скорость выполнения программ.

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

На момент релиза представлены файлы для восприятия расширенного синтаксиса TypeScript для Vim и Emacs, а также плагин для Microsoft Visual Studio.

Одновременно с выходом спецификации разработчики подготовили файлы с декларациями статических типов для некоторых популярных JavaScript-библиотек, среди которых jQuery.





Справка

TypeScript возник из-за предполагаемых кратких появлений JavaScript в крупномасштабных приложениях как в Microsoft, так и у прочих их клиентов.[9] Проблемы с комплексной разработкой кода на JavaScript привели к необходимости облегчения разработки компонентов языка.[10]

Разработчики TypeScript искали решение, которое не будет нарушать совместимость со стандартом и его кросс-платформенной поддержкой. Зная, что только стандарт ECMAScript предлагает поддержку в будущем для программирования на базе классов (Class-based programming), TypeScript был основан на этом предположении. Это привело к созданию компилятора JavaScript с набором синтаксических языковых расширений, увеличенным на основе предложения, которое трансформирует расширения в JavaScript. В этом смысле TypeScript является представлением того, что ожидать от ECMAScript 6. Уникальный аспект не в предложении, а в добавлении в TypeScript статической типизации, что позволяет статически анализировать язык, облегчая оснастки и IDE поддержку.

поддержка ECMAScript 6

TypeScript добавляет поддержку следующих функций: [www.ecma-international.org/ecma-262/6.0/#sec-class-definitions классы], модули и синтаксис функции стрелкой ([www.ecma-international.org/ecma-262/6.0/#sec-arrow-function-definitions стрелочных функций]), как они были предложены в следующем стандарте [www.ecma-international.org/ecma-262/6.0/ ECMAScript 6].

Хотя стандарт не готов, Microsoft заявила, что стремится расширить возможности TypeScript до предложенного стандарта.

Особенности языка

TypeScript это расширение языка ECMAScript 5. Добавлены следующие опции:

Синтаксически, TypeScript очень похож на JScript .NET, очередную реализацию Microsoft языкового стандарта ECMA-262, обеспечивающего поддержку статической типизации и классических объектно-ориентированных возможностей языка, таких как классы, наследование, интерфейсы и пространства имен.

Совместимость с JavaScript

TypeScript является надстройкой над JavaScript. Таким образом, программа JavaScript также является правильной программой TypeScript, и программа TypeScript могут легко включать JavaScript. TypeScript компилирует ES3-совместимый JavaScript.[12] По умолчанию компилируется ECMAScript 3, как преобладающей стандарт; также есть возможность создавать конструкции, используемые в ECMAScript 5.

С TypeScript можно использовать существующий JavaScript-код, включать популярные библиотеки JavaScript, и вызывать TypeScript-код, сгенерированный из других JavaScript.[12] Объявление типов для этих библиотек поставляются вместе с исходным кодом.

Объявление типов

TypeScript обеспечивает объявления типов[en] для статической проверки их согласования. Это не является обязательным и может быть проигнорировано чтобы использовать обычную динамическую типизацию JavaScript.

function add(left: number, right: number): number {
	return left + right;
}

Существует несколько аннотаций для примитивных типов: number, boolean и string. Слабо или динамически введенные структуры имеют тип any.

Определения типов могут быть экспортированы в отдельный файл объявлений , чтобы сделать информацию о типах доступной для сценариев TypeScript с использованием различных типов уже скомпилированных в JavaScript. Определения могут быть заявлены к существующей библиотеке JavaScript, как это было сделано для Node.js и JQuery.

Компилятор TypeScript пытается вывести типы, когда они не указаны явно. Например, метод add в приведенном выше коде будет выводить как возврат в number, даже если бы не было предусмотрено никакого возврата типа в определении. Это основано на статических типах left и right numbers и познаниях компилятора о том, что результат сложения двух numbers всегда number. Тем не менее, прописывание возвращаемого типа позволяет компилятору проверить правильность.

Если тип не может быть выведен из-за отсутствия объявлений, то по умолчанию будет динамической тип any. Значение типа any поддерживает те же операции, что и значение в JavaScript и минимальная статическая проверка типов выполняется для операции на any.[13]

Файлы деклараций

Когда сценарий TypeScript будет скомпилирован, есть опция для создания файла декларации (с расширением .d.ts), который используется как интерфейс к компонентам в скомпилированном JavaScript. В процессе компилятор удаляет все функции и тела методов и сохраняет только сигнатуры типов, которые экспортируются. Итоговый файл декларации может быть использован для описания экспортируемых виртуальных типов TypeScript библиотеки JavaScript или модуля, когда сторонний разработчик использует их в TypeScript.

Концепция файлов декларации аналогична таковой в заголовочных файлах в C++

declare module arithmetics {
    add(left: number, right: number): number;
    subtract(left: number, right: number): number;
    multiply(left: number, right: number): number;
    divide(left: number, right: number): number;
}

Файлы декларации могут быть написаны вручную как для существующих библиотек JavaScript, так и для jQuery и Node.js.

Большая коллекция файлов деклараций для популярных библиотек JavaScript размещена на GitHub [github.com/borisyankov/ borisyankov] в его [github.com/borisyankov/DefinitelyTyped DefinitelyTyped] репозитории.

Классы

TypeScript поддерживает ECMAScript 6 классы что позволяет поддерживать опцию объявления типов.

class Person {
    private name: string;
    private age: number;
    private salary: number;

    constructor(name: string, age: number, salary: number) {
        this.name = name;
        this.age = age;
        this.salary = salary;
    }
    
    toString(): string {
        return this.name + " (" + this.age + ")" + "(" + this.salary + ")";
    }
}

Шаблоны

TypeScript поддерживает обобщённое программирование.[14]

Модули

Используя модули, TypeScript поддерживает инкапсуляцию классов, интерфейсов, функций и переменных в пространствах имен. TypeScript различает внутренние и внешние модули. Внутренние модули на основе синтаксиса модуля из ECMAScript 6, тогда как внешние модули используют библиотеку JavaScript (AMD или CommonJS).[15]

Инструменты разработчика

Компилятор

Компилятор TypeScript называется tsc, написан на языке TypeScript и может быть скомпилирован в стандартный JavaScript, и может быть запущен на любом движке JavaScript, например, в браузере. Компилятор идет вместе с сервером сценариев, который может запускать компилятор. Также он доступен в виде пакета для node.js, который использует node.js в качестве сервера.

Также существует альфа-версия клиентского компилятора в JavaScript, который выполняет TypeScript на лету, во время загрузки страницы.

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

IDE и поддержка редакторов

  • Существует плагин от Microsoft для Visual Studio 2012 и для WebMatrix, а в версиях Visual Studio 2013, Visual Studio 2015 реализована полная поддержка на уровне IDE.
  • Есть базовая поддержка в текстовых редакторах Sublime Text, Emacs и Vim.
  • Visual Studio Code
  • JetBrains поддерживает TypeScript включая компиляцию, рефакторинг и отладку в IDE на платформе IntelliJ, например, PhpStorm 6, WebStorm 6, и IntelliJ IDEA, а также в их расширении для Visual Studio ReSharper 8.1.
  • У Atom есть плагин для TypeScript, разработанный Basarat с поддержкой автодополнения, навигации по коду, форматирования и быстрой компиляции.
  • Онлайн-среда Cloud9,Codenvy,codepen и другие также поддерживают TypeScript.
  • Плагин для NetBeans IDE.
  • Плагин для Eclipse IDE (версия Kepler)
  • TypEcs также доступен для Eclipse IDE.
  • Существует плагин от Microsoft для редактора Sublime Text.
  • Кроссплатформенная IDE Codeanywhere также поддерживает TypeScript.

См. также

Напишите отзыв о статье "TypeScript"

Примечания

  1. [www.zdnet.com/microsoft-takes-the-wraps-off-typescript-a-superset-of-javascript-7000004993/ Microsoft takes the wraps off TypeScript, a superset of JavaScript]
  2. [blogs.msdn.com/b/somasegar/archive/2012/10/01/typescript-javascript-development-at-application-scale.aspx TypeScript: JavaScript Development at Application Scale]
  3. [www.zdnet.com/microsoft-typescript-can-the-father-of-c-save-us-from-the-tyranny-of-javascript-7000005054/ Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript?]
  4. [www.cio.com/article/717679/Microsoft_Augments_Javascript_for_Large_scale_Development Microsoft Augments Javascript for Large-scale Development]
  5. [www.cybersecurity.ru/net/161240.html Microsoft анонсировала новый язык веб-программирования TypeScript]
  6. [www.opennet.ru/opennews/art.shtml?num=34981 Компания Microsoft представила TypeScript, новую открытую альтернативу JavaScript]
  7. [www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0 Open Web Foundation Final Specification Agreement (OWFa 1.0)]
  8. [github.com/Microsoft/TypeScript Проект TypeScript] на сайте GitHub
  9. Anders Hejlsberg. [www.hanselminutes.com/340/what-is-typescript-and-why-with-anders-hejlsberg What is TypeScript and why with Anders Hejlsberg]. www.hanselminutes.com (5 октября 2012). Проверено 15 января 2014.
  10. S. Somasegar. [blogs.msdn.com/b/somasegar/archive/2012/10/01/typescript-javascript-development-at-application-scale.aspx TypeScript: JavaScript Development at Application Scale]. msdn.com (1 октября 2012). Проверено 27 ноября 2013.
  11. Klint Finley. [techcrunch.com/2012/10/01/microsoft-previews-new-javascript-like-programming-language-typescript/ Microsoft Previews New JavaScript-Like Programming Language TypeScript]. TechCrunch (1 октября 2012). Проверено 27 ноября 2013.
  12. 1 2 [www.typescriptlang.org/ Official TypeScript Home Page]
  13. [www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf TypeScript Language Specification p.24]
  14. Jonathan Turner. [blogs.msdn.com/b/typescript/archive/2013/06/18/announcing-typescript-0-9.aspx Announcing TypeScript 0.9]. msdn.com (18 июня 2013). Проверено 27 ноября 2013.
  15. Sönke Sothmann. [blog.oio.de/2014/01/31/an-introduction-to-typescript-module-system/ An introduction to TypeScript’s module system]. blog.oio.de (31 января 2014). Проверено 21 февраля 2014.

Литература

  • Steve Fenton. [www.syncfusion.com/resources/techportal/details/ebooks/typescript TypeScript Succinctly]. — Syncfusion Ink., 2014.
  • Nathan Rozentals. Mastering TypeScript - Build enterprise-ready, industrial strength web applications using TypeScript and leading JavaScript Frameworks. — Packt Publishing, 2015. — ISBN 9781784399665.
  • Steve Fenton. Pro TypeScript: Application-Scale JavaScript Development. — Apress, 2014. — ISBN 978-1-4302-6791-1.
  • Dan Maharry. TypeScript revealed. — Apress, 2013. — ISBN 9781430257257.

Ссылки

Отрывок, характеризующий TypeScript

Граф Илья Андреич опустил глаза, услыхав эти слова сына и заторопился, отыскивая что то.
– Да, да, – проговорил он, – трудно, я боюсь, трудно достать…с кем не бывало! да, с кем не бывало… – И граф мельком взглянул в лицо сыну и пошел вон из комнаты… Николай готовился на отпор, но никак не ожидал этого.
– Папенька! па…пенька! – закричал он ему вслед, рыдая; простите меня! – И, схватив руку отца, он прижался к ней губами и заплакал.

В то время, как отец объяснялся с сыном, у матери с дочерью происходило не менее важное объяснение. Наташа взволнованная прибежала к матери.
– Мама!… Мама!… он мне сделал…
– Что сделал?
– Сделал, сделал предложение. Мама! Мама! – кричала она. Графиня не верила своим ушам. Денисов сделал предложение. Кому? Этой крошечной девочке Наташе, которая еще недавно играла в куклы и теперь еще брала уроки.
– Наташа, полно, глупости! – сказала она, еще надеясь, что это была шутка.
– Ну вот, глупости! – Я вам дело говорю, – сердито сказала Наташа. – Я пришла спросить, что делать, а вы мне говорите: «глупости»…
Графиня пожала плечами.
– Ежели правда, что мосьё Денисов сделал тебе предложение, то скажи ему, что он дурак, вот и всё.
– Нет, он не дурак, – обиженно и серьезно сказала Наташа.
– Ну так что ж ты хочешь? Вы нынче ведь все влюблены. Ну, влюблена, так выходи за него замуж! – сердито смеясь, проговорила графиня. – С Богом!
– Нет, мама, я не влюблена в него, должно быть не влюблена в него.
– Ну, так так и скажи ему.
– Мама, вы сердитесь? Вы не сердитесь, голубушка, ну в чем же я виновата?
– Нет, да что же, мой друг? Хочешь, я пойду скажу ему, – сказала графиня, улыбаясь.
– Нет, я сама, только научите. Вам всё легко, – прибавила она, отвечая на ее улыбку. – А коли бы видели вы, как он мне это сказал! Ведь я знаю, что он не хотел этого сказать, да уж нечаянно сказал.
– Ну всё таки надо отказать.
– Нет, не надо. Мне так его жалко! Он такой милый.
– Ну, так прими предложение. И то пора замуж итти, – сердито и насмешливо сказала мать.
– Нет, мама, мне так жалко его. Я не знаю, как я скажу.
– Да тебе и нечего говорить, я сама скажу, – сказала графиня, возмущенная тем, что осмелились смотреть, как на большую, на эту маленькую Наташу.
– Нет, ни за что, я сама, а вы слушайте у двери, – и Наташа побежала через гостиную в залу, где на том же стуле, у клавикорд, закрыв лицо руками, сидел Денисов. Он вскочил на звук ее легких шагов.
– Натали, – сказал он, быстрыми шагами подходя к ней, – решайте мою судьбу. Она в ваших руках!
– Василий Дмитрич, мне вас так жалко!… Нет, но вы такой славный… но не надо… это… а так я вас всегда буду любить.
Денисов нагнулся над ее рукою, и она услыхала странные, непонятные для нее звуки. Она поцеловала его в черную, спутанную, курчавую голову. В это время послышался поспешный шум платья графини. Она подошла к ним.
– Василий Дмитрич, я благодарю вас за честь, – сказала графиня смущенным голосом, но который казался строгим Денисову, – но моя дочь так молода, и я думала, что вы, как друг моего сына, обратитесь прежде ко мне. В таком случае вы не поставили бы меня в необходимость отказа.
– Г'афиня, – сказал Денисов с опущенными глазами и виноватым видом, хотел сказать что то еще и запнулся.
Наташа не могла спокойно видеть его таким жалким. Она начала громко всхлипывать.
– Г'афиня, я виноват перед вами, – продолжал Денисов прерывающимся голосом, – но знайте, что я так боготво'ю вашу дочь и всё ваше семейство, что две жизни отдам… – Он посмотрел на графиню и, заметив ее строгое лицо… – Ну п'ощайте, г'афиня, – сказал он, поцеловал ее руку и, не взглянув на Наташу, быстрыми, решительными шагами вышел из комнаты.

На другой день Ростов проводил Денисова, который не хотел более ни одного дня оставаться в Москве. Денисова провожали у цыган все его московские приятели, и он не помнил, как его уложили в сани и как везли первые три станции.
После отъезда Денисова, Ростов, дожидаясь денег, которые не вдруг мог собрать старый граф, провел еще две недели в Москве, не выезжая из дому, и преимущественно в комнате барышень.
Соня была к нему нежнее и преданнее чем прежде. Она, казалось, хотела показать ему, что его проигрыш был подвиг, за который она теперь еще больше любит его; но Николай теперь считал себя недостойным ее.
Он исписал альбомы девочек стихами и нотами, и не простившись ни с кем из своих знакомых, отослав наконец все 43 тысячи и получив росписку Долохова, уехал в конце ноября догонять полк, который уже был в Польше.



После своего объяснения с женой, Пьер поехал в Петербург. В Торжке на cтанции не было лошадей, или не хотел их смотритель. Пьер должен был ждать. Он не раздеваясь лег на кожаный диван перед круглым столом, положил на этот стол свои большие ноги в теплых сапогах и задумался.
– Прикажете чемоданы внести? Постель постелить, чаю прикажете? – спрашивал камердинер.
Пьер не отвечал, потому что ничего не слыхал и не видел. Он задумался еще на прошлой станции и всё продолжал думать о том же – о столь важном, что он не обращал никакого .внимания на то, что происходило вокруг него. Его не только не интересовало то, что он позже или раньше приедет в Петербург, или то, что будет или не будет ему места отдохнуть на этой станции, но всё равно было в сравнении с теми мыслями, которые его занимали теперь, пробудет ли он несколько часов или всю жизнь на этой станции.
Смотритель, смотрительша, камердинер, баба с торжковским шитьем заходили в комнату, предлагая свои услуги. Пьер, не переменяя своего положения задранных ног, смотрел на них через очки, и не понимал, что им может быть нужно и каким образом все они могли жить, не разрешив тех вопросов, которые занимали его. А его занимали всё одни и те же вопросы с самого того дня, как он после дуэли вернулся из Сокольников и провел первую, мучительную, бессонную ночь; только теперь в уединении путешествия, они с особенной силой овладели им. О чем бы он ни начинал думать, он возвращался к одним и тем же вопросам, которых он не мог разрешить, и не мог перестать задавать себе. Как будто в голове его свернулся тот главный винт, на котором держалась вся его жизнь. Винт не входил дальше, не выходил вон, а вертелся, ничего не захватывая, всё на том же нарезе, и нельзя было перестать вертеть его.
Вошел смотритель и униженно стал просить его сиятельство подождать только два часика, после которых он для его сиятельства (что будет, то будет) даст курьерских. Смотритель очевидно врал и хотел только получить с проезжего лишние деньги. «Дурно ли это было или хорошо?», спрашивал себя Пьер. «Для меня хорошо, для другого проезжающего дурно, а для него самого неизбежно, потому что ему есть нечего: он говорил, что его прибил за это офицер. А офицер прибил за то, что ему ехать надо было скорее. А я стрелял в Долохова за то, что я счел себя оскорбленным, а Людовика XVI казнили за то, что его считали преступником, а через год убили тех, кто его казнил, тоже за что то. Что дурно? Что хорошо? Что надо любить, что ненавидеть? Для чего жить, и что такое я? Что такое жизнь, что смерть? Какая сила управляет всем?», спрашивал он себя. И не было ответа ни на один из этих вопросов, кроме одного, не логического ответа, вовсе не на эти вопросы. Ответ этот был: «умрешь – всё кончится. Умрешь и всё узнаешь, или перестанешь спрашивать». Но и умереть было страшно.
Торжковская торговка визгливым голосом предлагала свой товар и в особенности козловые туфли. «У меня сотни рублей, которых мне некуда деть, а она в прорванной шубе стоит и робко смотрит на меня, – думал Пьер. И зачем нужны эти деньги? Точно на один волос могут прибавить ей счастья, спокойствия души, эти деньги? Разве может что нибудь в мире сделать ее и меня менее подверженными злу и смерти? Смерть, которая всё кончит и которая должна притти нынче или завтра – всё равно через мгновение, в сравнении с вечностью». И он опять нажимал на ничего не захватывающий винт, и винт всё так же вертелся на одном и том же месте.
Слуга его подал ему разрезанную до половины книгу романа в письмах m mе Suza. [мадам Сюза.] Он стал читать о страданиях и добродетельной борьбе какой то Аmelie de Mansfeld. [Амалии Мансфельд.] «И зачем она боролась против своего соблазнителя, думал он, – когда она любила его? Не мог Бог вложить в ее душу стремления, противного Его воле. Моя бывшая жена не боролась и, может быть, она была права. Ничего не найдено, опять говорил себе Пьер, ничего не придумано. Знать мы можем только то, что ничего не знаем. И это высшая степень человеческой премудрости».
Всё в нем самом и вокруг него представлялось ему запутанным, бессмысленным и отвратительным. Но в этом самом отвращении ко всему окружающему Пьер находил своего рода раздражающее наслаждение.
– Осмелюсь просить ваше сиятельство потесниться крошечку, вот для них, – сказал смотритель, входя в комнату и вводя за собой другого, остановленного за недостатком лошадей проезжающего. Проезжающий был приземистый, ширококостый, желтый, морщинистый старик с седыми нависшими бровями над блестящими, неопределенного сероватого цвета, глазами.
Пьер снял ноги со стола, встал и перелег на приготовленную для него кровать, изредка поглядывая на вошедшего, который с угрюмо усталым видом, не глядя на Пьера, тяжело раздевался с помощью слуги. Оставшись в заношенном крытом нанкой тулупчике и в валеных сапогах на худых костлявых ногах, проезжий сел на диван, прислонив к спинке свою очень большую и широкую в висках, коротко обстриженную голову и взглянул на Безухого. Строгое, умное и проницательное выражение этого взгляда поразило Пьера. Ему захотелось заговорить с проезжающим, но когда он собрался обратиться к нему с вопросом о дороге, проезжающий уже закрыл глаза и сложив сморщенные старые руки, на пальце одной из которых был большой чугунный перстень с изображением Адамовой головы, неподвижно сидел, или отдыхая, или о чем то глубокомысленно и спокойно размышляя, как показалось Пьеру. Слуга проезжающего был весь покрытый морщинами, тоже желтый старичек, без усов и бороды, которые видимо не были сбриты, а никогда и не росли у него. Поворотливый старичек слуга разбирал погребец, приготовлял чайный стол, и принес кипящий самовар. Когда всё было готово, проезжающий открыл глаза, придвинулся к столу и налив себе один стакан чаю, налил другой безбородому старичку и подал ему. Пьер начинал чувствовать беспокойство и необходимость, и даже неизбежность вступления в разговор с этим проезжающим.
Слуга принес назад свой пустой, перевернутый стакан с недокусанным кусочком сахара и спросил, не нужно ли чего.
– Ничего. Подай книгу, – сказал проезжающий. Слуга подал книгу, которая показалась Пьеру духовною, и проезжающий углубился в чтение. Пьер смотрел на него. Вдруг проезжающий отложил книгу, заложив закрыл ее и, опять закрыв глаза и облокотившись на спинку, сел в свое прежнее положение. Пьер смотрел на него и не успел отвернуться, как старик открыл глаза и уставил свой твердый и строгий взгляд прямо в лицо Пьеру.
Пьер чувствовал себя смущенным и хотел отклониться от этого взгляда, но блестящие, старческие глаза неотразимо притягивали его к себе.


– Имею удовольствие говорить с графом Безухим, ежели я не ошибаюсь, – сказал проезжающий неторопливо и громко. Пьер молча, вопросительно смотрел через очки на своего собеседника.
– Я слышал про вас, – продолжал проезжающий, – и про постигшее вас, государь мой, несчастье. – Он как бы подчеркнул последнее слово, как будто он сказал: «да, несчастье, как вы ни называйте, я знаю, что то, что случилось с вами в Москве, было несчастье». – Весьма сожалею о том, государь мой.
Пьер покраснел и, поспешно спустив ноги с постели, нагнулся к старику, неестественно и робко улыбаясь.
– Я не из любопытства упомянул вам об этом, государь мой, но по более важным причинам. – Он помолчал, не выпуская Пьера из своего взгляда, и подвинулся на диване, приглашая этим жестом Пьера сесть подле себя. Пьеру неприятно было вступать в разговор с этим стариком, но он, невольно покоряясь ему, подошел и сел подле него.
– Вы несчастливы, государь мой, – продолжал он. – Вы молоды, я стар. Я бы желал по мере моих сил помочь вам.
– Ах, да, – с неестественной улыбкой сказал Пьер. – Очень вам благодарен… Вы откуда изволите проезжать? – Лицо проезжающего было не ласково, даже холодно и строго, но несмотря на то, и речь и лицо нового знакомца неотразимо привлекательно действовали на Пьера.
– Но если по каким либо причинам вам неприятен разговор со мною, – сказал старик, – то вы так и скажите, государь мой. – И он вдруг улыбнулся неожиданно, отечески нежной улыбкой.
– Ах нет, совсем нет, напротив, я очень рад познакомиться с вами, – сказал Пьер, и, взглянув еще раз на руки нового знакомца, ближе рассмотрел перстень. Он увидал на нем Адамову голову, знак масонства.