logoalt Hacker News

Overpower0416today at 10:12 AM2 repliesview on HN

  export function extractSearchToken(completionToken: {
    token: string;
    isQuoted?: boolean;
  }): string {
    if (completionToken.isQuoted) {
      // Remove @" prefix and optional closing "
      return completionToken.token.slice(2).replace(/"$/, '');
    } else if (completionToken.token.startsWith('@')) {
      return completionToken.token.substring(1);
    } else {
      return completionToken.token;
    }
  }
Why even use else if with return...

Replies

kelnostoday at 11:33 AM

I always write code like that. I don't like early returns. This approximates `if` statements being an expression that returns something.

show 2 replies
worksonminetoday at 11:12 AM

> Why even use else if with return...

What is the problem with that? How would you write that snippet? It is common in the new functional js landscape, even if it is pass-by-ref.

show 1 reply