javascript: 유형 변환 및 유형 강제

4493 단어 javascript
JavaScript에서 유용하고 가장 많이 사용되는 기능 중 일부는 유형 변환 및 유형 강제입니다. 그러나 이러한 기능은 덜 읽기 쉬운 코드를 작성하는 데 도움이 될 수 있으며 버그, 특히 유형 강제의 원인이 될 수 있으므로 이러한 기능을 알고 이해하면 일부 고통스러운 버그. 유형 변환과 유형 강제 변환이란 무엇입니까?

둘 다 예를 들어 문자열에서 숫자로, 숫자에서 부울로 값을 변환하는 것과 같이 한 유형에서 다른 유형으로 값을 변환하는 것을 의미하지만 둘 사이에는 큰 차이가 있습니다.

1- 유형 변환:



우리가 말했듯이 값의 유형을 변경하지만 수동으로 예를 들어 출생 연도라는 입력 값이 있고 입력 값의 유형을 알고 있으므로 현재 나이를 계산하려고 한다고 가정해 보겠습니다. 문자열이고 계산을 하려면 숫자로 변환해야 합니다.

const  input = document.querySelector(input);
const  currentYear = new Date().getFullYear();
const yearOfBirth = Number(input.value);
const  currentAge = currentYear - yearOfBirth;


입력값을 입력변수에 저장하고 getFullYear() 메서드를 사용하여 현재 연도를 구해서 현재 연도 변수에 할당했는데 이게 중요한 부분인데,
Number() 함수를 사용하여 문자열인 입력 값을 숫자로 변환하고 마지막으로 계산 결과를 현재 변수에 저장했습니다.

JavaScript에서는 항상 이러한 변환을 수행해야 하며 널리 사용되는 기능은 다음과 같습니다.
  • String(): 값을 문자열 유형으로 변환합니다.
  • Number(): 값을 숫자 유형으로 변환하지만 값이 유효한 숫자가 아닌 경우 출력은 숫자가 아님을 의미하는 NaN이 됩니다(그런데 NaN 유형은 숫자입니다).
  • Boolean(): 값을 부울 유형(참 또는 거짓)으로 변환합니다.

  • 이러한 기능은 매우 중요하고 유용합니다.

    2- 유형 강제:



    이 변환은 JavaScript에 의해 자동으로 수행되며 처음에는 이해하기 어려워 보일 수 있지만 JavaScript를 마스터하는 데 중요합니다.

    첫 번째 예시로 돌아가 보겠습니다.
    계산을 하기 전에 사용자가 생년월일을 제출했는지 확인해야 하며 다음과 같이 할 수 있습니다.

    const  current;
    if(input.value.trim() !== ""){
        currentAge = currentYear - yearOfBirth;
    }
    


    모든 문자열을 알 수 있지만 공백이 있는 문자열도 빈 문자열이 참이므로 trim() 메서드를 사용하여 문자열의 양쪽에서 공백을 제거하므로 입력 값이 빈 문자열과 같지 않으면 다음을 수행합니다. 이제 강제를 염두에 두고 계산해 보겠습니다.

    const  current;
    if(input.value.trim()){
        currentAge = currentYear - yearOfBirth;
    }
    


    차이점이 보이시나요? JavaScript는 자동으로 입력 값을 문자열에서 부울로 변환하고 값이 true이면 계산을 수행합니다.

    이 동작은 JavaScript의 모든 위치에 존재합니다. 예를 들면 다음과 같습니다.

    1 + 1  // ‘11’
    1 - 1 // 0
    true * false // 0
    10 / true // 10
    1 == true // true
    
    


    이 행동은 이상하지만 유익하고 학습하면 많은 이점이 있습니다.
    이 기사에서 무언가를 배웠기를 바랍니다. 유용하다고 생각되면 좋아요를 누르는 것을 잊지 마십시오.

    좋은 웹페이지 즐겨찾기