title: What are the actual uses of ES6 Raw String Access?
body: <p>What are the actual uses of <code>String.raw</code> Raw String Access introduced in ECMAScript 6?</p>
  
  <pre><code>// String.raw(callSite, ...substitutions)
  
  function quux (strings, ...values) {
      strings[0] === "foo\n"
      strings[1] === "bar"
      strings.raw[0] === "foo\\n"
      strings.raw[1] === "bar"
      values[0] === 42
  }
  
  quux `foo\n${ 42 }bar`
  
  String.raw `foo\n${ 42 }bar` === "foo\\n42bar"
  </code></pre>
  
  <h3>I went through the below docs.</h3>
  
  <p><a href="http://es6-features.org/#RawStringAccess" rel="noreferrer">http://es6-features.org/#RawStringAccess</a>  </p>
  
  <p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings" rel="noreferrer">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings</a>  </p>
  
  <p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw" rel="noreferrer">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw</a>  </p>
  
  <p><a href="http://www.2ality.com/2015/01/es6-strings.html" rel="noreferrer">http://www.2ality.com/2015/01/es6-strings.html</a>  </p>
  
  <p><a href="https://msdn.microsoft.com/en-us/library/dn889830(v=vs.94).aspx" rel="noreferrer">https://msdn.microsoft.com/en-us/library/dn889830(v=vs.94).aspx</a></p>
  
  <blockquote>
    <p>The only the thing that I understand, is that it is used to get the raw string form of template strings and used for debugging the template string.</p>
  </blockquote>
  
  <p>When this can be used in real time development? They were calling this a tag function. What does that mean?</p>
  
  <p>What concrete use cases am I missing?</p>