LoginSignup
1
2

Javascriptの条件分岐で思わぬ落とし穴...

Last updated at Posted at 2024-01-31

はじめに

UdemyのJavascritpで思ってもいない箇所で躓いたのでまとめます!
知っているつもりで使っていたのですが、実は理解しきれていない箇所が出てきました。

問題

const nameArr = ["佐藤","鈴木","吉田"];
という配列に対してjsのmap関数を使って、「吉田」以外の人には「さん」をつけて値を返す
最終目標は
["佐藤さん","鈴木さん","吉田"]
という感じ
しかし今回["吉田","吉田","吉田"]
となってしまった。

実際のコード

const nameArr = ["佐藤","鈴木","吉田"];

const nameArr2 = nameArr.map((name) =>{
  if(name = "吉田"){
    return name
  }else{
    return `${name}さん`;
  }
});
console.log(nameArr2);

解決策

name = "吉田"の箇所をname === "吉田"に変更
最初のname = "吉田"ではmap関数で回ってきた名前に対して「吉田」が代入されていた感じでした。
例えば"佐藤" = "吉田"のような感じです。

終わりに

これから条件判定する時には = ではなく === を使用するように気をつけます!
=で条件判定できると思っていましたが、=には条件判定以外にも代入するという認識が抜けていました...

1
2
9

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2