513553705481332
홍명근
  • 2016.3.18 22:23
  • 조회수 178
  • 답변수 3
513553705481332
홍명근
  • 2016.3.18 22:23
  • 조회수 178
  • 답변수 3

이렇게 함수 세팅하고 불러오고 싶은데 오류가 뭘까요?

function firstLetter(str){

return str[0];

};

console.log(firstLetter(str));

firstLetter
function firstLetter(str){


    return str[0];

};

console.log(firstLetter(str));
  • #자바스크립트 입문
  • #String 다루기 - 실습

3 답변

  • Gscxhpxkg5i74t30rimh
    정두식
    • 2016.3.18 23:59

    firstLetter이라는 함수까지는 잘 정의하셨지만 firstLetter를 호출하는 부분에서 str이 정의가 되어 있지 않습니다.
    그래서 실행이 안되고 있습니다.

    실행이 되도록 수정하시더라도 정답으로 통과는 안될텐데요.
    이 문제는 강의에서 배운 charAt을 활용하도록 하는 문제이기 때문에 charAt을 사용해야 통과하도록 설계되어서 그렇습니다.

    • 아아. 답변감사합니다. 그러면 호출하는 부분에서 str 정의하려면 어떻게해야할까요..? 고민하는데 잘 안나오네요 ㅠ-홍명근
      2016.3.19 00:06
  • 513553705481332
    홍명근
    • 2016.3.19 01:33

    아아. 답변감사합니다. 그러면 호출하는 부분에서 str 정의하려면 어떻게해야할까요..? 고민하는데 잘 안나오네요 ㅠ
    

  • Dbucdlkpqyn7yg1hgsny
    이확영
    • 2016.3.19 09:14

    질문에서 실행이 안되는 이유가 두 가지가 있습니다.
    우선 firstLetter 함수에서 첫 번째 문자를 가져오기 위해 str[0]를 사용했는데 javascript에서는 이것은 잘못된 문법이고 charAt이나 substring 함수를 사용해서 첫 번째 문자를 가져와야 합니다.
    참고: http://www.w3schools.com/jsref/jsref_charat.asp

    그리고 두 번째로 함수를 테스트하기 위해 console.log(firstLetter(str));를 호출하셨는데 변수 str이 정의되어 있지 않아서 오류가 발생합니다.

    var str = "Hello, World";
    console.log(firstLetter(str));
    

    이렇게 str을 선언하신 후 테스트하시면 됩니다.

    • 감사합니다!! 다시볼게요! ㅎㅎ-홍명근
      2016.3.23 18:29

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.