The entity view builder provides a method to build a render array for a single field using a field formatter:
Drupal\Core\Entity\EntityViewBuilderInterface::viewField()
/**
* Builds a renderable array for the value of a single field in an entity.
*
* The resulting output is a fully themed field with label and multiple
* values.
*
* This function can be used by third-party modules that need to output an
* isolated field.
* - Do not use inside node (or any other entity) templates; use
* render($content[FIELD_NAME]) instead.
* - The FieldItemInterface::view() method can be used to output a single
* formatted field value, without label or wrapping field markup.
*
* The function takes care of invoking the prepare_view steps. It also
* respects field access permissions.
*
* @param \Drupal\Core\Field\FieldItemListInterface $items
* FieldItemList containing the values to be displayed.
* @param string|array $display_options
* Can be either:
* - The name of a view mode. The field will be displayed according to the
* display settings specified for this view mode in the $field
* definition for the field in the entity's bundle. If no display settings
* are found for the view mode, the settings for the 'default' view mode
* will be used.
* - An array of display options. The following key/value pairs are allowed:
* - label: (string) Position of the label. The default 'field' theme
* implementation supports the values 'inline', 'above' and 'hidden'.
* Defaults to 'above'.
* - type: (string) The formatter to use. Defaults to the
* 'default_formatter' for the field type. The default formatter will
* also be used if the requested formatter is not available.
* - settings: (array) Settings specific to the formatter. Defaults to the
* formatter's default settings.
* - weight: (float) The weight to assign to the renderable element.
* Defaults to 0.
*
* @return array
* A renderable array for the field values.
*
* @see \Drupal\Core\Entity\EntityViewBuilderInterface::viewFieldItem()
*/
public function viewField(FieldItemListInterface $items, $display_options = []);
To apply this method on a field object you can use $field->view()
or if you only want a single value from a multivalue field without the wrapper and label you can also use it on a field item (delta).
EDIT: With this code you can find the values that you need.
$nid = 76;
$node = \Drupal::service('entity.manager')->getStorage('node')->load($nid);
foreach ($node->field_aaaa as $i => $delta) {
dpm($delta->value);
dpm((string) \Drupal::service('renderer')->render($delta->view(array('type' => 'title_formatter'))));
}