JavaScript 데이터 타입

문자열 값, 숫자, 불리언 값, 배열, 객체를 저장할 수 있습니다.

JavaScript 데이터 타입

JavaScript 변수는 다양한데이터 타입:숫자, 문자열 값, 배열, 객체 등:

var length = 7;                             // 숫자
var lastName = "게이츠";                      // 문자열
var cars = ["포르셰", "볼보", "BMW"];         // 배열
var x = {firstName:"빌", lastName:"게이츠"};    // 객체

데이터 타입의 개념

프로그래밍 과정에서 데이터 타입은 중요한 개념입니다.

변수를操作할 수 있도록 데이터 타입을 이해하는 것은 매우 중요합니다.

데이터 타입이 없으면 컴퓨터는 이 문제를 안전하게 해결할 수 없습니다:

var x = 911 + "Porsche";

"Volvo"에 911을 추가하면 의미가 있을까요? 이렇게 하면 오류가 발생할까요 아니면 결과가 생성될까요?

JavaScript는 위의 예제를 이렇게 처리합니다:

var x = "911" + "포르셰";

当数值和字符串相加时,JavaScript 将把数值视作字符串。

예제

var x = 911 + "Porsche";

직접 테스트해 보세요

예제

var x = "Porsche" + 911;

직접 테스트해 보세요

JavaScript 从左向右计算表达式。不同的次序会产生不同的结果:

JavaScript:

var x = 911 + 7 + "Porsche";

结果:

918Porsche

직접 테스트해 보세요

JavaScript:

var x = "Porsche" + 911 + 7;

结果:

Porsche9117

직접 테스트해 보세요

在第一个例子中,JavaScript 把 911 和 7 视作数值,直到遇见 "Porsche"。

在第二个例子中,由于第一个操作数是字符串,因此所有操作数都被视为字符串。

JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同变量可用作不同类型:

예제

var x;               // 现在 x 是 undefined
var x = 7;           // 现在 x 是数值
var x = "Bill";      // 现在 x 是字符串值

직접 테스트해 보세요

JavaScript 字符串值

字符串(或文本字符串)是一串字符(比如 "Bill Gates")。

字符串被引号包围。您可使用单引号或双引号:

예제

var carName = "Porsche 911";   // 使用双引号
var carName = 'Porsche 911';   // 使用单引号

직접 테스트해 보세요

您可以在字符串内使用引号,只要这些引号与包围字符串的引号不匹配:

예제

var answer = "It's alright";             // 双引号内的单引号
var answer = "He is called 'Bill'";    // 双引号内的单引号
var answer = 'He is called "Bill"';    // 单引号内的双引号

직접 테스트해 보세요

您将在本教程中学到更多有关字符串的知识。

JavaScript 数值

JavaScript 只有一种数值类型。

写数值时用不用小数点均可:

예제

var x1 = 34.00;     // 带小数点
var x2 = 34;        // 不带小数点

직접 테스트해 보세요

超大或超小的数值可以用科学计数法来写:

예제

var y = 123e5;      // 12300000
var y = 123e5;      // 12300000

직접 테스트해 보세요

var z = 123e-5; // 0.00123

이 튜토리얼에서 더 많은 숫자에 대해 배울 수 있습니다.

JavaScript 부울 값부울 값은 두 가지 값만 있습니다: true 또는

예제

false
var x = true;

직접 테스트해 보세요

var y = false;

부울 값은 조건 검사에서 자주 사용됩니다.

JavaScript 배열

이 튜토리얼에서 더 많은 조건 검사에 대해 배울 수 있습니다.

JavaScript 배열은 괄호로 쓰입니다.

배열 항목은 콤마로 구분됩니다.

예제

아래의 코드는 cars라는 배열을 선언(생성)하고, 세 가지 항목(차 브랜드)을 포함합니다:

직접 테스트해 보세요

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

배열 인덱스는 0에서 시작되며, 이는 첫 번째 요소가 [0], 두 번째 요소가 [1]로 이어지는 것을 의미합니다.

JavaScript 객체

이 튜토리얼에서 더 많은 배열에 대해 배울 수 있습니다.

JavaScript 객체는 괄호로 쓰입니다. 객체 속성은name: value

예제

네, 콤마로 구분됩니다.

직접 테스트해 보세요

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

위의 예제에서의 객체(person)에는 네 가지 속성이 있습니다: firstName, lastName, age 및 eyeColor。

typeof 연산자

이 튜토리얼에서 더 많은 객체에 대해 배울 수 있습니다. typeof JavaScript 변수의 타입을 결정하기 위해 사용할 수 있습니다:

typeof 연산자는 변수나 표현식의 타입을 반환합니다:

예제

typeof ""                  // 반환 "string"
typeof "Bill"              // 반환 "string"
typeof "Bill Gates"          // 반환 "string"

직접 테스트해 보세요

예제

typeof 0                   // 반환 "number"
typeof 314                 // 반환 "number"
typeof 3.14                // 반환 "number"
typeof (7)                 // 반환 "number"
typeof (7 + 8)             // 반환 "number"

직접 테스트해 보세요

typeof 연산자는 배열에 "object"을 반환합니다. 이는 JavaScript에서 배열이 객체에 속하기 때문입니다.

Undefined

JavaScript에서 값이 없는 변수는 undefined。typeof도 반환합니다。 undefined

예제

var person;                  // 값은 undefined, 타입은 undefined입니다.

직접 테스트해 보세요

다른 어떤 변수도 값을 설정하여 undefined 비우고 있습니다. 그 타입도 undefined

예제

person = undefined;          // 값은 undefined, 타입은 undefined입니다.

직접 테스트해 보세요

비어 있는 값

비어 있는 값과 undefined 그것은 동일하지 않습니다.

비어 있는 문자열 변수는 값과 타입이 모두 있습니다.

예제

var car = "";                // 값은 "", 타입은 "string"입니다.

직접 테스트해 보세요

Null

JavaScript에서는null 는 "nothing"입니다. 그것은 존재하지 않는 것으로 간주됩니다。

불행히도, JavaScript에서는null 의 데이터 타입은 객체입니다。

또는 null JavaScript에서는 객체를 이 버그로 이해합니다. 그것은 null

또는 값을 설정하여 null 객체를 비우기 위해:

예제

var person = null;           // 값은 null, 하지만 타입은 여전히 객체입니다.

직접 테스트해 보세요

또는 값을 설정하여 undefined 객체를 비우기 위해:

예제

var person = undefined;           // 값은 undefined, 타입은 undefined입니다。

직접 테스트해 보세요

Undefined과 Null의 차이

Undefinednull 의 값은 같지만 타입은 다릅니다:

typeof undefined              // undefined
typeof null                   // object
null === undefined            // false
null == undefined             // true

직접 테스트해 보세요

원시 데이터

원시 데이터 값은 추가적인 속성이나 메서드가 없는 단순한 데이터 값입니다。

typeof 연산자는 다음 원시 타입 중 하나를 반환할 수 있습니다:

  • string
  • number
  • boolean
  • undefined

예제

typeof "Bill"              // 반환 "string"
typeof 3.14                // 반환 "number"
typeof true                // 반환 "boolean"
typeof false               // 반환 "boolean"
typeof x                   // x에 값이 없으면 "undefined"을 반환

직접 테스트해 보세요

복잡한 데이터

typeof 연산자는 다음 두 가지 유형 중 하나를 반환할 수 있습니다:

  • function
  • object

typeof 연산자는 객체, 배열 또는 null 반환 object

typeof 연산자는 함수를 반환하지 않습니다 object

예제

typeof {name:'Bill', age:62} // "object"을 반환
typeof [1,2,3,4]             // "object"을 반환 ("array"가 아니라, 아래의 주석을 참조)
typeof null                  // "object"을 반환
typeof function myFunc(){}   // "function"을 반환

직접 테스트해 보세요

typeof 연산자는 배열을 "object자바스크립트에서 배열이 객체라는 이유로

교室外 독서

JavaScript 고급 강의: