I'm looking at some ES6 code and I don't understand what the @ symbol does when it is placed in front of a variable. The closest thing I could find has something to do with private fields?

Code I was looking at from the [redux library](https://github.com/gaearon/redux/blob/master/examples/counter/containers/CounterApp.js#L7):

```
import React, { Component } from 'react';
import { bindActionCreators } from 'redux';
import { connect } from 'redux/react';
import Counter from '../components/Counter';
import * as CounterActions from '../actions/CounterActions';

@connect(state => ({
  counter: state.counter
}))
export default class CounterApp extends Component {
  render() {
    const { counter, dispatch } = this.props;
    return (
      <Counter counter={counter}
               {...bindActionCreators(CounterActions, dispatch)} />
    );
  }
}

```

Here is a blog post I found on the topic: <https://github.com/zenparsing/es-private-fields>

In this blog post all the examples are in the context of a class - what does it mean when the symbol is used within a module?