javascript 변수 여러개 입력받을때 질문

조회수 303회

prompt로 입력을 여러개 받아 변수에 저장하려고 하는데요. var a,b = prompt(" 두 숫자를 입력하세요 : ").split(" "); 라고 작성하니 b에만 들어가더라구요.
파이썬에는 저런식으로 작성해도 변수가 잘 들어갔었는데.. 혹시 자바스크립트에서 a,b에 split(" ")한 값을 넣어주려면 어떻게 해야할까요?

2 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    안녕하세요 ! 일단 이렇게 하면 됩니다

    var [a, b] = prompt("두 숫자를 입력하세요: ").split(" ")
    

    파이썬에서도 사실 Tuple Destructuring 이라고 해서

    (a, b) = [1, 2]
    

    배열에서 각각 빼내올때 튜플 디스트럭쳐링 과정을 거치는데 파이썬에서는 괄호를 생략할수 있으니깐

    a, b = [1, 2]
    

    이렇게 사용한거 였습니다 :)

    자바스크립트도 이런식으로 Array Destructuring과 Object Destructuring 이 있습니다

    //Array Destructuring
    var foo = ['one', 'two', 'three']
    var [one, two, three] = foo
    console.log(one)
    
    //Object Destructuring 
    var o = {p: 42, q: true}
    var {p, q} = o
    console.log(p)
    console.log(q)
    

    수고하세요!

    • 우와.. 감사합니다 ㅠㅠ 이렇게 사용하면 되겠네요... wo0kgod 2019.2.7 20:20
  • // 이 코드는
    var a, b = prompt(" 두 숫자를 입력하세요 : ").split(" ");
    
    // 이것과 같고
    var a;
    var b = prompt(" 두 숫자를 입력하세요 : ").split(" ");
    
    // 이것과 다릅니다.
    var a = prompt(" 두 숫자를 입력하세요 : ").split(" ");
    var b = prompt(" 두 숫자를 입력하세요 : ").split(" ");
    
    // 그러니 a에는 아무것도 담기지 않습니다.
    console.log(a) // >> undefined
    
    // split()은 배열을 반환합니다.
    var b = prompt(" 두 숫자를 입력하세요 : ").split(" ");
    console.log(b); // >> [99, 87]
    console.log(b[0]) // >> 99
    console.log(b[1]) // >> 87
    
    • 답변해주셔서 감사합니다! wo0kgod 2019.2.7 20:19

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.