>웹 프론트엔드 >프런트엔드 Q&A >자바스크립트는 강력한 유형인가요 아니면 약한 유형인가요?

자바스크립트는 강력한 유형인가요 아니면 약한 유형인가요?

青灯夜游
青灯夜游원래의
2021-12-10 11:26:334196검색

javascript의 유형이 약합니다. 자바스크립트는 데이터 유형을 무시할 수 있는 언어이며, 변수에 다양한 데이터 유형의 값을 할당할 수 있습니다. JavaScript는 변수 유형의 암시적 변환, 강제 유형 변환 등을 허용합니다. 예를 들어 문자열과 값은 자동으로 변환될 수 있지만 강력한 유형의 언어는 일반적으로 이를 허용하지 않습니다.

자바스크립트는 강력한 유형인가요 아니면 약한 유형인가요?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

강한 유형 정의 언어와 약한 유형 정의 언어

1) 강한 유형 정의 언어:

  데이터 유형 정의를 강제하는 언어입니다. 즉, 변수에 특정 데이터 유형이 할당되면 캐스트되지 않으면 항상 해당 데이터 유형이 됩니다. 예를 들어, 정수 변수 a를 정의하면 프로그램이 a를 문자열 유형으로 처리하는 것이 불가능합니다. 강력한 형식의 정의 언어는 형식이 안전한 언어입니다.

2) 약한 유형 정의 언어:

 데이터 유형을 무시할 수 있는 언어입니다. 이는 변수에 다양한 데이터 유형의 값을 할당할 수 있는 강력한 유형의 정의 언어와 반대입니다.
강력한 유형의 정의 언어는 약한 유형의 정의 언어보다 약간 느릴 수 있지만 강력한 유형의 정의 언어가 가져오는 엄격함은 많은 오류를 효과적으로 방지할 수 있습니다. 게다가, "이 언어가 동적 언어인지 여부"와 "이 언어가 유형에 안전한지 여부" 사이에는 전혀 연관성이 없습니다!
예: Python은 강력한 유형의 정의 언어인 동적 언어(유형 안전 언어)입니다. VBScript는 동적 언어, 약한 유형의 정의 언어(유형이 안전하지 않은 언어)입니다. 언어(유형 안전 언어) 안전 언어).
다양한 언어 유형에 대한 설명은 다음을 참조하세요: http://blog.csdn.net/aiming66/article/details/78570784#t3
이를 이해한 후 JavaScript가 약한 유형의 언어인 이유에 대해 이야기해 보겠습니다. 생각해보니 코드를 통해 설명해야겠다는 생각이 들었습니다. 어쩌면 이것이 더 간단할 수도 있습니다.

<!DOCTYPE html>
<html>
    <head>
        <title>js练习</title>
        <style type="text/css">

        </style>

        <script type="text/javascript">
            var num=0;
            alert(typeof num);

            num="123";
            alert(typeof num);

            num=true;
            alert(typeof num);

            num= new Date();
            alert(typeof num);
        </script>
    </head>
</html>

 그 중 다음 코드에 대해 설명하겠습니다. 아래 그림에는 다음 코드 줄이 나와 있습니다. 처음에 var 유형의 변수 num 하나만 생성했다는 것을 알 수는 없지만 여기에 숫자 유형, 문자열, 부울 유형, 객체 등 다양한 유형을 할당할 수 있습니다. type , 이를 위해 JavaScript는 약한 유형의 언어라고 추론할 수 있습니다.

JavaScript의 변수에는 다양한 데이터 유형의 값이 할당될 수 있습니다. 이는 변수 유형의 암시적 변환, 강제 유형 변환 등을 허용합니다. 예를 들어 강력한 유형의 언어에서는 문자열과 값이 자동으로 변환될 수 있습니다. 일반적으로 이를 허용하지 않습니다.

var num=0;
alert(typeof num);

자바스크립트는 강력한 유형인가요 아니면 약한 유형인가요?

num="123";
alert(typeof num);

자바스크립트는 강력한 유형인가요 아니면 약한 유형인가요?

 num=true;
alert(typeof num);

자바스크립트는 강력한 유형인가요 아니면 약한 유형인가요?

 num= new Date();
alert(typeof num);

자바스크립트는 강력한 유형인가요 아니면 약한 유형인가요?

[관련 추천: javascript 학습 튜토리얼]

위 내용은 자바스크립트는 강력한 유형인가요 아니면 약한 유형인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.