# `$parse` (service in module `ng` )

Improve this doc

## Description

Converts Angular expression into a function.

      var getter = $parse('user.name');
      var setter = getter.assign;
      var context = {user:{name:'angular'}};
      var locals = {user:{name:'local'}};

      expect(getter(context)).toEqual('angular');
      setter(context, 'newValue');
      expect(context.user.name).toEqual('newValue');
      expect(getter(context, locals)).toEqual('local');

## Usage

    $parse(expression);

### Parameters

- `expression – {string} –`

  String expression to compile.

### Returns

`{function(context, locals)}` –

a function which represents the compiled expression:

- `context` – `{object}` – an object against which any expressions embedded in the strings are evaluated against (typically a scope object).

- `locals` – `{object=}` – local variables context object, useful for overriding values in `context`.

  The returned function also has the following properties:

  - `literal` – `{boolean}` – whether the expression's top-level node is a JavaScript literal.
  - `constant` – `{boolean}` – whether the expression is made entirely of JavaScript constant literals.
  - `assign` – `{?function(context, value)}` – if the expression is assignable, this will be set to a function to change its value on the given context.