title: Why doesn't my arrow function return a value?
body: <p>I have an arrow function that looks like this (simplified):</p>
  
  <pre><code>const f = arg =&gt; { arg.toUpperCase(); };
  </code></pre>
  
  <p>But when I call it, I get <code>undefined</code>:</p>
  
  <pre><code>console.log(f("testing")); // undefined
  </code></pre>
  
  <p>Why?</p>
  
  <p>Example:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="true" data-console="true" data-babel="false">
  <div class="snippet-code snippet-currently-hidden">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>const f = arg =&gt; { arg.toUpperCase(); };
  console.log(f("testing"));</code></pre>
  </div>
  </div>
  </p>
  
  <hr>
  
  <p><em>(<strong>Note:</strong> This is meant to be a clean, canonical dupetarget for the <strong>specific</strong> issue with arrow functions above.)</em></p>