>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 데이터 유형은 무엇입니까?

JavaScript의 데이터 유형은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-03-30 16:12:0534222검색

Javascript에는 문자열, 숫자, 부울, Null, 정의되지 않음, 기호, 개체, 배열 및 함수의 9가지 데이터 유형이 있습니다.

JavaScript의 데이터 유형은 무엇입니까?

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

JavaScript 데이터 유형:

JavaScript 언어의 모든 값은 특정 데이터 유형에 속합니다. JavaScript에는 9가지 데이터 유형이 있습니다.

  • 값 유형(기본 유형): 문자열, 숫자, 부울, Null, 정의되지 않음 및 기호.

  • 참조 데이터 유형: 객체, 배열, 함수.

참고: 기호는 고유한 값을 나타내기 위해 ES6에 도입된 새로운 기본 데이터 유형입니다.

1. 정의되지 않음: 정의되지 않은 유형은 하나의 값만 가지며, 이는 특수 값인 정의되지 않습니다. var를 사용하여 변수를 선언했지만 초기화하지 않은 경우 변수 값은 정의되지 않습니다.

2. Null: Null 유형은 값이 하나만 있는 두 번째 데이터 유형입니다. 특수 값은 Null입니다. 논리적인 관점에서 보면 null은 빈 개체 포인터입니다. 그리고 이것이 null 값을 감지하기 위해 typeof 연산자를 사용하는 것이 "객체"를 반환하는 이유입니다.

3. 부울: 부울 유형으로, 이 유형에는 true

false라는 두 가지 값이 있습니다. Boolean 유형의 리터럴 값 true 및 false는 대소문자를 구분한다는 점에 유의해야 합니다. 즉, True 및 False(및 기타 혼합 크기 형식)는 부울 값이 아니라 식별자일 뿐입니다.

4. 숫자: 이 유형의 표현에는 두 가지 형식이 있습니다. 첫 번째는 정수이고 두 번째는 부동 소수점 숫자입니다. 정수: 10진수, 8진수, 16진수 리터럴 값으로 표현될 수 있습니다. 부동 소수점 숫자: 값에는 소수점이 포함되어야 하며 소수점 뒤에 한 자리가 있어야 합니다.

5. 문자열: 문자열 유형은 0개 이상의 16비트 유니코드 문자로 구성된 문자 시퀀스, 즉 문자열을 나타내는 데 사용됩니다. 작은따옴표를 사용할지 큰따옴표를 사용할지는 js에는 여전히 차이가 없습니다. 꼭 쌍으로 오세요.

6. 기호 유형

Symbols(심볼)은 ECMAScript 버전 6에서 새로 정의됩니다. 기호 유형은 고유하며 수정할 수 없습니다.

var s = Symbol()

새 명령은 기호 기능 이전에 사용할 수 없습니다. 그렇지 않으면 오류가 보고됩니다. 이는 생성된 Symbol이 객체가 아닌 원시 유형 값이기 때문입니다. Symbol 함수는 Symbol 인스턴스에 대한 설명을 나타내는 매개변수로 문자열을 받아들일 수 있습니다. 7. 객체: 객체라고 하는 객체 데이터 유형은 데이터 및 기능(함수)의 집합입니다. new 연산자 뒤에 생성할 객체 유형의 이름을 사용하여 생성할 수 있습니다. 리터럴 표기법을 사용하여 생성할 수도 있습니다. 다른 이름(빈 문자열을 포함한 모든 문자열)을 가진 속성을 추가합니다.

8. Array

JavaScript 배열은 대괄호 안에 작성됩니다. 배열의 항목은 쉼표로 구분됩니다.

다음 코드는 세 개의 항목(자동차 브랜드)이 포함된 cars라는 배열을 선언(생성)합니다.

var cars = ["Porsche", "Volvo", "BMW"];

배열 인덱스는 0을 기반으로 합니다. 즉, 첫 번째 항목은 [0]이고 두 번째 항목은 [1]입니다. 등.

ECMAScript의 배열은 다른 언어의 배열과 상당히 다릅니다.

ECMAScript 배열의 각 항목은 모든 유형의 데이터를 저장할 수 있습니다.

  • ECMAScript 배열의 크기는 동적으로 조정되어 배열에 추가될 수 있습니다. 요소 또는 요소 삭제

  • [추천 학습:

    js 기본 튜토리얼
  • ]

9. Function ECMAScript의 함수는 객체이며 다른 참조 유형과 마찬가지로 속성과 메서드를 갖습니다. 따라서 함수 이름은 실제로 함수 개체에 대한 포인터입니다.

1), 함수 선언

function sum(num1,num2){    
    return num1+num2;
}//函数声明

var sum = function(num1,num2){  
    return num1+num2;
};     //函数表达式 这里的分号很重要

2), 오버로딩 없음

function addSomeNumber(num){    
    return num + 100;
}

function addSomeNumber(num){    
    return num + 200;
}

var result = addSomeNumber(100);  //300

두 번째 함수를 생성할 때 첫 번째 함수를 참조하는 변수 addSomeNumber를 덮어씁니다.

3), 함수 선언 및 함수 표현식

alert (sum(10,10));
function sum(num1,num2){    
    return num1+num2;
}

이와 같은 코드는 정상적으로 실행될 수 있습니다. 코드가 실행되기 전에 파서는 먼저 함수 선언을 읽고 이를 실행 환경에 추가합니다. 코드가 평가되기 전에 JS 엔진은 첫 번째 단계에서 함수를 선언하고 이를 소스 코드 트리의 맨 위에 배치합니다. . 하지만 이를 함수 표현식으로 변경하면 오류가 발생합니다.

4), 값으로서의 함수

매개변수 전달과 같이 하나의 함수를 다른 함수에 전달

  • function callSomeFunction(someFunction,someArgument){   
        return someFunction(someArgument);
    }
    
    function add10(num){
        return num+10;
    }
    
    var result1 = callSomeFunction(add10,10);
    alert(result1);  //20
    
    function getGreeting(name){
        return "Hello"+name;
    }
    var result2 = callSomeFunction(getGreeting,"Mike");
    alert(result2);  //Hello Mike
    
    //callSomeFunction是通用的,函数作为第一个参数传递进去,返回执行第一个参数后的结果

  • 한 함수에서 다른 함수 반환
  • function createComparisonFunction(propertyName){
        return function(object1,object2){
            var value1 = object1[propertyName];
            var value2 = object2[propertyName];
            if(value1<value2){
                return -1;
            }else if(value1>value2){
                return 1;
            }else{
                return 0;
            }
        }
    }
    
    var date = [{name:"Mike", age:28},{name:"Amy", age:29}];//创建包含两个对象的数组
    date.sort(creatComparisonFunction("name"));
    alert(date[0].name);//Amy
    date.sort(creatComparisonFunction("age"));
    alert(date[0].name);//Mike

    더 많은 프로그래밍 관련 지식은 다음을 방문하세요:

    프로그래밍 비디오
  • ! !

위 내용은 JavaScript의 데이터 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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