JavaScript의 강제.
강제로 알려진 자바 스크립트의 예기치 않은 유형 변환. 데이터로 작업하는 동안 숫자에서 문자열 또는 이와 유사한 것과 같은 유형으로 데이터를 변환해야 합니다. 따라서 노력을 최소화하기 위해 javascript가 자동으로 수행하지만 대부분의 시간이 제어할 수 없기 때문에 그다지 좋지는 않습니다. 그리고 시스템에 버그를 유발합니다. 그래서 대부분의 사람들이 그것을 피하지만 그것은 전적으로 당신에게 달려 있습니다. 만약 당신이 이것에 익숙하다면 당신은 그것을 피하려고 노력할 수 있습니다.
이제 강제에는 세 가지 유형이 있습니다. 궁금한? 그것에 대해 논의합시다.
1. 숫자와 문자열
예를 들어 이해하자
console.log('100' - 10)
위 코드의 결과는 어떻게 될까요? 출력이 90이 될 것이기 때문에 오류가 발생할 것이라고 생각한다면 잠시만 기다려 주세요.
자바스크립트는 스마트하기 때문에 두 개의 숫자만 뺄 수 있다는 것을 이미 알고 있으므로 문자열, 즉 '100'을 숫자, 즉 100으로 변환합니다.
알겠습니다. 이제 다른 예를 살펴보겠습니다.
console.log('100' + 10)
위의 코드에서 (-) 대신 (+) 기호에 주목하십시오. 그래서 당신은 어떻게 생각하십니까? 출력은 무엇이어야합니까?
110일거라고 생각하면 미안한데 또 틀리면 10010일텐데 왜?
양수 부호의 경우 100을 숫자로 변환하는 대신 javascript가 둘을 연결하여 결과 10010을 생성하기 때문입니다.
2. 부울
이것은 모든 것 중에서 가장 문제를 일으키는 사람이며 주로 if 문, 루프 및 논리 연산에 사용됩니다.
자, 이 예를 생각해 봅시다
console.log(true + 100)
출력이 101이 될 것이라고 예측했다면 똑똑해지고 있는 것입니다. 그 이유는 javascript가 True를 1로, False를 0으로 하기 때문입니다. 이제 다음 코드의 출력을 확실히 예측할 수 있을 것이라고 확신합니다.
console.log(false + 100) // obiously 100
당신이 그것을 얻지 못한 경우. False는 0으로 간주되므로 0 + 100은 100이 됩니다.
3. 평등
우리는 이 게시물의 끝을 향해 가고 있으며 당신이 아이디어를 얻었기를 바랍니다. 이제 마지막을 살펴보겠습니다.
console.log('100' == 100)
이중 등호 연산자의 경우 javascript가 왼쪽과 오른쪽의 유형을 확인하지 않기 때문에 위의 코드는 True를 반환합니다. 값이 같은지 여부만 확인합니다.
console.log('100' === 100) // False
삼중 등호의 경우 삼중 등호 연산자는 좌변과 우변의 타입을 엄격하게 검사하기 때문에 결과는 False가 됩니다.
나는 당신이 내 요점을 모두 이해하기를 바랍니다. 그때까지 새로운 포스팅으로 찾아뵙겠습니다 안녕히계세요.
Reference
이 문제에 관하여(JavaScript의 강제.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/uddeshjain/coercion-in-javascript-1o2f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)