
객체에 조금이라도 자신이 있었다고 생각한 내 자신이 밉다.
먼저 문제는 이렇게 주어졌다.
handleEdit함수는 nickname, interests 라는 두 인자로 받습니다.
interests에는 여러 관심사를 적을 수 있습니다. 그 때 그 관심사의 구분을 콤마(,)를 이용합니다.
nickname과 interests가 문제 없이 잘 들어왔다면 유저 정보를 효율적으로 관리하기 위해서
Object에 이 정보를 담아서 관리할 겁니다.
예시) {
nickname: "뚜비",
interests: ["방탈출","테니스","멍 때리기"],
bio: "제 닉네임은 뚜비입니다. 취미는 방탈출,테니스,멍 때리기입니다."
}
나의 약점이자 제일 큰 문제가 바로 나왔다.
처음 문제를 풀때 어디에 뭘 넣어야할지 아직도 감이 잘 잡히지 않아서 구글링을 해봤다.
새로운 객체를 만들어서 리턴하면 된다.
라는걸 파악한 후 문제풀이에 들어갔다. 일단 우선 새로운 객체들이 들어갈 보금자리를 마련해줬다.
const handleEdit = (nickname, interests) => {
obj = {}
}
들어갈 자리를 만들어주고 그 다음엔 인자로 받은 nickname과 interests를 객체로 들어올수 있게
obj에 객체 안에 넣어줘야한다. bio 같은 경우엔 문자열 안에 들어가니 예전에 정리했던
Templete Literal을 사용해주면 굉장히 뿌듯하다. 이제 작성한 코드를 살펴보자
const handleEdit = (nickname, interests) => {
obj = {};
obj.nickname = nickname;
obj.interests = interests;
obj.bio = `제 닉네임은 ${obj.nickname}입니다. 취미는 ${obj.interests}입니다.`
}
자랑스럽게 써놓고 run을 눌러봤는데 ㅋ.... ㅋ..ㅋㅋㅋ.......
obj.interests에다가 split으로 문자열을 잘라주지 않아서 방 << 이것만 나온다 ㅋㅋㅋㅋ.......
그래서 다시 코드를 작성했다.
const handleEdit = (nickname, interests) => {
obj = {};
obj.nickname = nickname;
obj.interests = interests.split(',');
obj.bio = `제 닉네임은 ${obj.nickname}입니다. 취미는 ${obj.interests}입니다.`
}
split 괄호 안에 쉼표를 적어줌으로써 쉼표를 기점으로 문자를 다시 잘라줬더니 제대로 된 코드가 작동한다.
templete literal까진 좋았으나 interests에서 디테일이 너무 없었다. 앞으론 문제를 끝까지 읽고 한번 더 읽는 걸로....