Why isolated scope(=) not working with strings?
<p>I am new to angular. I read a lot of blogs regarding the difference between <code>@ / =</code> for a directive isolated scope, but still i am confused.
Here is a small example i tried.</p>

<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"&gt;&lt;/script&gt;
&lt;!DOCTYPE html&gt;
&lt;html ng-app="myApp"&gt;
&lt;head&gt;
  &lt;title&gt;Directive Test&lt;/title&gt;
  
  &lt;script type="text/javascript"&gt;
    var app = angular.module('myApp', []);
    app.controller('MyCtrl', ['$scope', function ($scope) {

    }]);
    app.directive('personInfo', [function () {
      return {
        restrict: 'EA',
        scope: {
          name: '=',
          age: '='
        },
        template: "My name is {{name}} . My age is {{age}}",
        link: function (scope, iElement, iAttrs) {
          console.log(scope.name);
        }
      };
    }])
  &lt;/script&gt;
&lt;/head&gt;
&lt;body ng-controller="MyCtrl"&gt;
  &lt;person-info name="deepak" age="25"&gt;&lt;/person-info&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
</div>
</div>
</p>

<p>Output:</p>

<p><code>My name is . My age is 25</code></p>

<p>I am not getting why name is <code>undefined</code> , where as age is coming as 25.
When i am doing <code>name: @</code>, everything works fine again. </p>

<p>I am not sure why <code>=</code> works with numeric value but not with strings.I know <code>@</code> used for one-way and <code>=</code>  used for two-way binding, but in my example i have nothing to do with parent scope.</p>