객체에 조금이라도 자신이 있었다고 생각한 내 자신이 밉다.
먼저 문제는 이렇게 주어졌다.
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
에서 디테일이 너무 없었다. 앞으론 문제를 끝까지 읽고 한번 더 읽는 걸로....