🗃️javascript/프로젝트

숫자야구게임

하얀성 2023. 6. 19. 23:26

해당 오류는 appendChild 메서드가 Node 유형의 매개변수를 예상하고 있으나, 다른 유형의 값을 받았다는 것을 나타냅니다. 제공된 코드 조각에서 오류가 발생하는 부분은 다음과 같습니다:

javascriptCopy code
$logs.appendChild(`${out}아웃`);

틀렸다 나옴.

 

이유는..

${out}아웃 문자열을 포함하는 텍스트 노드를 생성하는 이유는 appendChild 메서드에 전달할 수 있는 유효한 매개변수는 Node 객체뿐입니다. appendChild 메서드는 DOM에 요소를 추가하기 위해 사용되는데, 이 때 추가하려는 요소는 Node 객체여야 합니다.

따라서, ${out}아웃과 같은 텍스트를 직접적으로 appendChild 메서드에 전달할 수는 없습니다. 대신에, 해당 텍스트를 가진 Text 노드를 생성한 후, 그 노드를 appendChild 메서드에 전달하여 사용합니다. 이렇게 하면 Text 노드가 $logs 요소에 추가됩니다.

결론적으로, appendChild 메서드에 Node 객체를 전달하기 위해 ${out}아웃 문자열을 포함하는 텍스트 노드를 생성해야 합니다. 이렇게 하면 오류가 해결되고, 제대로 동작할 수 있게 됩니다.

 

const message = document.createTextNode(`패배! 정답은 ${answer.join('')}`);
        $logs.appendChild(message);

윗 코드처럼 createTextNode를 통해 먼저 text용 Node를 생성한뒤에 appendChild()로 그 노드를 전달하는 것이다.