웹 프론트엔드 JS 튜토리얼 JavaScript 연구 노트의 데이터 유형

JavaScript 연구 노트의 데이터 유형

May 16, 2016 pm 04:20 PM
javascript 데이터 유형

자바스크립트의 데이터 유형은 매우 간단합니다. 정의되지 않음, null, 문자열, 부울, 숫자 및 객체만 포함됩니다. 오늘은 이러한 데이터 유형을 모두의 이해와 기억을 돕기 위해 하나씩 설명하겠습니다.

1. 분류

기본 데이터 유형: 정의되지 않음, null, 문자열, 부울, 숫자

복잡함 데이터 유형: 객체

객체의 속성은 순서가 없는 이름과 값의 쌍(이름:값) 형태로 정의됩니다.

2. 자세한 설명

1. 정의되지 않음: 정의되지 않은 유형에는 정의되지 않은 값만 있습니다. 변수가 var를 사용하여 선언되었지만 초기화되지 않은 경우 이 변수의 값은 정의되지 않습니다.

정의되지 않은 값은 정의되지 않은 변수와 동일합니다. 다음 예를 통해 설명할 수 있습니다.

var demo1;//声明但未初始化
alert(demo1);//undefined
alert(demo2);//报错,demo2 is not defined
로그인 후 복사

2. null: null 유형에는 논리 값이 하나만 있습니다. 관점에서 null 값은 null 개체 포인터를 나타냅니다.

정의된 변수가 향후 개체를 보유하는 데 사용된다면 변수를 다른 값보다는 null로 초기화하는 것이 가장 좋습니다. . 이런 방식으로 null 값이 직접 감지되는 한 해당 변수가 객체에 대한 참조를 저장했는지 여부를 알 수 있습니다. 예:

 if(car != null)
    {
        //对car对象执行某些操作
    }
로그인 후 복사
실제로 정의되지 않은 값은 다음에서 파생됩니다. null 값이므로 ECMA -262는 동일성 테스트에서 true를 반환하도록 지정합니다.

alert(undefined == null); //true
로그인 후 복사
null과 undefine은 이러한 관계가 있지만 용도는 완전히 다릅니다. 어떤 경우에도 변수 값을 명시적으로 정의되지 않음으로 설정할 필요는 없지만 null에는 동일한 규칙이 적용되지 않습니다. 즉, 개체를 보유하도록 의도된 변수가 실제로 개체를 보유하지 않는 한 변수가 null 값을 보유하도록 명시적으로 허용해야 합니다. 이렇게 하면 null 객체 포인터로서의 null 규칙을 반영할 뿐만 아니라 null과 정의되지 않은 것을 더 잘 구별하는 데도 도움이 됩니다.


3. Boolean:

Boolean 유형에는 true와 false라는 두 가지 값이 있습니다. 이 두 값은 숫자와 다릅니다. 값이므로 true가 반드시 1일 필요는 없으며, false가 반드시 0일 필요는 없습니다.

부울 유형의 리터럴 값은 대소문자를 구분합니다. 즉, True 및 False(및 기타 대소문자 혼합 형식)는 부울 값이 아니라 식별자일 뿐입니다.

Boolean 유형의 리터럴 값은 2개뿐이지만 JavaScript의 모든 유형의 값은 이 두 Boolean 값에 해당하는 값을 갖습니다. 값을 해당 부울 값으로 변환하려면 유형 변환 함수 Boolean()을 호출할 수 있습니다. 예:

var message = 'Hello World';
    var messageAsBoolean = Boolean(message);
로그인 후 복사
이 예에서는 문자열 메시지가 부울 값으로 변환되어 저장됩니다. messageAsBoolean 변수에 있습니다. Boolean() 함수는 모든 데이터 유형의 값에 대해 호출될 수 있으며 항상 부울 값을 반환합니다. 반환된 값이 true인지 false인지는 변환할 값의 데이터 유형과 실제 값에 따라 다릅니다. 다음 표에는 다양한 데이터 유형과 해당 객체에 대한 변환 규칙이 나와 있습니다.


이러한 변환 규칙은 흐름 제어 문(예: if 문)을 이해하고 해당 부울 변환을 자동으로 수행하는 데 매우 중요합니다. 예:

var message = 'Hello World';
if(message)//相当于if(Boolean(message)==true) {
        alert("Value is true");//Value is true
}
로그인 후 복사
이는 자동으로 부울 변환을 실행하므로 흐름 제어 문에 어떤 변수가 사용되는지 정확히 아는 것이 중요합니다.

4. 숫자: 정수 및 부동 소수점

4.1 정수: 계산 수행 시 모든 8진수와 16진수는 10진수로 변환됩니다.

4.2 부동 소수점: 부동 소수점 값의 가장 높은 정밀도는 17자리이므로 산술 계산에서 정밀도가 정수보다 훨씬 떨어집니다. 예를 들어 0.1 0.2의 결과는 0.3이 아니라 0.30000000000000004입니다. 예:

a=0.2;
b=0.1;
if(a+b==0.3){
alert("hello");
}
else{
alert("hi");
}
로그인 후 복사
결과가 "hi"로 표시되므로 특정 부동 소수점 값을 테스트하지 마세요.

4.3 NaN: 숫자가 아님 이 값은 숫자 값을 반환해야 하는 피연산자가 숫자 값을 반환하지 않음을 나타내는 데 사용됩니다(오류가 발생하지 않음).

NaN 자체에는 두 가지 특별한 특성이 있습니다. 첫째, NaN(예: NaN/10)과 관련된 모든 연산은 NaN을 반환하므로 다단계 계산에서 문제가 발생할 수 있습니다. 둘째, NaN은 NaN 자체를 포함한 어떤 값과도 동일하지 않습니다. 예:

alert(NaN == NaN);    //false
로그인 후 복사
JavaScript에는 isNaN() 함수가 있습니다. 이 함수는 모든 유형의 매개변수를 허용하며 이 함수는 매개변수가 "숫자가 아닌지 확인하는 데 도움이 됩니다. 값". isNaN()은 값을 받은 후 해당 값을 숫자 값으로 변환하려고 시도합니다. 숫자가 아닌 일부 값은 문자열 "10"이나 부울 값과 같은 숫자 값으로 직접 변환됩니다. 숫자 값으로 변환할 수 없는 값은 이 함수가 true를 반환하도록 합니다. 예를 들어

alert(isNaN(NaN));    //true
alert(isNaN(10));    //false(10是一个数值)
alert(isNaN("10"));    //false(可能被转换为数值10)
alert(isNaN("blue"));    //true(不能被转换为数值)
alert(isNaN("bule123")); //ture(不能被转换为数值)
alert(isNaN(true));    //false(可能被转换为数值1)
로그인 후 복사
에는 숫자가 아닌 값을 숫자 값으로 변환할 수 있는 세 가지 함수(Number(),parseInt()및parseFloat())가 있습니다. 첫 번째 함수인 변환 함수 Number()는 모든 데이터 유형에 사용할 수 있는 반면, 다른 두 함수는 특히 문자열을 숫자로 변환하는 데 사용됩니다. 이 세 가지 함수는 동일한 입력에 대해 서로 다른 결과를 반환합니다.

Number() 함수의 변환 규칙은 다음과 같습니다.

● Boolean 값인 경우 true와 false는 각각 1과 0으로 대체됩니다

● 숫자 값인 경우 그냥 전달하고 반환

● null 값인 경우 0 반환

● 정의되지 않은 경우 NaN 반환

● 문자열인 경우 다음 규칙을 따르세요.

   ○ 如果字符串中只包含数字,则将其转换为十进制数值,即”1“会变成1,”123“会变成123,而”011“会变成11(前导的0被忽略)

   ○ 如果字符串中包含有效的浮点格式,如”1.1“,则将其转换为对应的浮点数(同样,也会忽略前导0)

   ○ 如果字符串中包含有效的十六进制格式,例如”0xf“,则将其转换为相同大小的十进制整数值

   ○ 如果字符串是空的,则将其转换为0

   ○ 如果字符串中包含除了上述格式之外的字符,则将其转换为NaN

● 如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再依次按照前面的规则转换返回的字符串值。

var num1 = Number("Hello World");    //NaN
var num2 = Number("");                //0
var num3 = Number("000011");        //11
var num4 = Number(true);            //1
로그인 후 복사

由于Number()函数在转换字符串时比较复杂而且不够合理,因此在处理整数的时候更常用的是parseInt()函数,而处理浮点数的时候常用parseFloat()函数。

5、String

String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由单引号(')或双引号(")表示。

var str1 = "Hello";
var str2 = 'Hello';
로그인 후 복사

任何字符串的长度都可以通过访问其length属性取得

alert(str1.length);        //输出5
로그인 후 복사

要把一个值转换为一个字符串有两种方式。第一种是使用几乎每个值都有的toString()方法。

var age = 11;
var ageAsString = age.toString();    //字符串"11"
var found = true;
var foundAsString = found.toString();    //字符串"true"
로그인 후 복사

数值、布尔值、对象和字符串值都有toString()方法。但null和undefined值没有这个方法。

多数情况下,调用toString()方法不必传递参数。但是,在调用数值的toString()方法时,可以传递一个参数:输出数值的基数。

var num = 10;
alert(num.toString());      //"10"
alert(num.toString(2));     //"1010"
alert(num.toString(8));     //"12"
alert(num.toString(10));    //"10"
alert(num.toString(16));    //"a"
로그인 후 복사

通过这个例子可以看出,通过指定基数,toString()方法会改变输出的值。而数值10根据基数的不同,可以在输出时被转换为不同的数值格式。

在不知道要转换的值是不是null或undefined的情况下,还可以使用转型函数String(),这个函数能够将任何类型的值转换为字符串。

String()函数遵循下列转换规则:

● 如果值有toString()方法,则调用该方法(没有参数)并返回相应的结果

● 如果值是null,则返回"null"

● 如果值是undefined,则返回”undefined“

6、object

对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象。

var o = new Object();

object类型所具有的任何属性和方法也同样存在于更具体的对象中,Object的每个实例都具有下列属性和方法:

● constructor(构造函数)——保存着用于创建当前对象的函数

● hasOwnProperty(propertyName)——用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty("name"))

● isPrototypeOf(object)——用于检查传入的对象是否是另一个对象的原型

● propertyIsEnumerable(propertyName)——用于检查给定的属性是否能够使用for-in语句来枚举

● toString()——返回对象的字符串表示

● valueOf()——返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。

三、小测试

typeof(NaN)
typeof(Infinity)
typeof(null)
typeof(undefined)
로그인 후 복사

很多面试都会问到上面几个小问题哒~~

以上就是这6种javascript数据类型的介绍了,小伙伴们是否了解清楚了呢,希望看完本文后大家能有所提高。更多相关教程请访问JavaScript视频教程

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MySQL 데이터베이스의 성별 필드에는 어떤 데이터 유형을 사용해야 합니까? MySQL 데이터베이스의 성별 필드에는 어떤 데이터 유형을 사용해야 합니까? Mar 14, 2024 pm 01:21 PM

MySQL 데이터베이스에서 성별 필드는 일반적으로 ENUM 유형을 사용하여 저장할 수 있습니다. ENUM은 사전 정의된 값 세트에서 필드 값으로 하나를 선택할 수 있는 열거형 유형입니다. ENUM은 성별과 같이 고정되고 제한된 옵션을 나타낼 때 좋은 선택입니다. 특정 코드 예를 살펴보겠습니다. 성별을 포함한 사용자 정보가 포함된 "users"라는 테이블이 있다고 가정합니다. 이제 성별 필드를 만들고 싶으면 다음과 같이 테이블 구조를 디자인할 수 있습니다. CRE

MySQL의 성별 필드에 가장 적합한 데이터 유형은 무엇입니까? MySQL의 성별 필드에 가장 적합한 데이터 유형은 무엇입니까? Mar 15, 2024 am 10:24 AM

MySQL에서 성별 필드에 가장 적합한 데이터 유형은 ENUM 열거 유형입니다. ENUM 열거 유형은 가능한 값 세트를 정의할 수 있는 데이터 유형입니다. 성별에는 일반적으로 남성과 여성이라는 두 가지 값만 있기 때문에 성별 필드는 ENUM 유형을 사용하는 데 적합합니다. 다음으로, 특정 코드 예제를 사용하여 MySQL에서 성별 필드를 생성하고 ENUM 열거 유형을 사용하여 성별 정보를 저장하는 방법을 보여 드리겠습니다. 다음 단계는 다음과 같습니다. 먼저 다음을 포함하여 MySQL에서 users라는 테이블을 만듭니다.

Python 구문 마인드맵: 코드 구조에 대한 심층적인 이해 Python 구문 마인드맵: 코드 구조에 대한 심층적인 이해 Feb 21, 2024 am 09:00 AM

Python은 간단하고 읽기 쉬운 구문으로 다양한 분야에서 널리 사용됩니다. 프로그래밍 효율성을 높이고 코드 작동 방식을 깊이 이해하려면 Python 구문의 기본 구조를 숙지하는 것이 중요합니다. 이를 위해 이 기사에서는 Python 구문의 다양한 측면을 자세히 설명하는 포괄적인 마인드 맵을 제공합니다. 변수 및 데이터 유형 변수는 Python에서 데이터를 저장하는 데 사용되는 컨테이너입니다. 마인드맵은 정수, 부동 소수점 숫자, 문자열, 부울 값 및 목록을 포함한 일반적인 Python 데이터 유형을 보여줍니다. 각 데이터 유형에는 고유한 특성과 작업 방법이 있습니다. 연산자 연산자는 데이터 유형에 대한 다양한 작업을 수행하는 데 사용됩니다. 마인드맵은 산술 연산자, 비율 등 Python의 다양한 연산자 유형을 다룹니다.

간단한 JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법 간단한 JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법 Jan 05, 2024 pm 06:08 PM

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

MySQL의 성별 필드에 가장 적합한 데이터 유형은 무엇입니까? MySQL의 성별 필드에 가장 적합한 데이터 유형은 무엇입니까? Mar 14, 2024 pm 01:24 PM

데이터베이스 테이블을 디자인할 때 적절한 데이터 유형을 선택하는 것은 성능 최적화 및 데이터 저장 효율성을 위해 매우 중요합니다. MySQL 데이터베이스에는 성별 필드를 저장할 데이터 유형에 대한 소위 최선의 선택이 없습니다. 성별 필드에는 일반적으로 남성 또는 여성이라는 두 가지 값만 있기 때문입니다. 그러나 효율성과 공간 절약을 위해 성별 필드를 저장하는 데 적합한 데이터 유형을 선택할 수 있습니다. MySQL에서 성별 필드를 저장하는 데 가장 일반적으로 사용되는 데이터 유형은 열거 유형입니다. 열거 유형은 필드 값을 제한된 세트로 제한할 수 있는 데이터 유형입니다.

MySQL에서 부울 유형을 사용하는 방법에 대한 자세한 설명 MySQL에서 부울 유형을 사용하는 방법에 대한 자세한 설명 Mar 15, 2024 am 11:45 AM

MySQL에서 부울 유형을 사용하는 방법에 대한 자세한 설명 MySQL은 일반적으로 사용되는 관계형 데이터베이스 관리 시스템으로 실제 응용 프로그램에서는 논리적 참 및 거짓 값을 표현하기 위해 부울 유형을 사용해야 하는 경우가 많습니다. MySQL에는 TINYINT(1)과 BOOL이라는 두 가지 부울 유형의 표현 방법이 있습니다. 이 기사에서는 부울 유형의 정의, 할당, 쿼리 및 수정을 포함하여 MySQL에서 부울 유형의 사용을 자세히 소개하고 특정 코드 예제를 통해 설명합니다. 1. 부울 유형은 MySQL에 정의되어 있으며 다음과 같을 수 있습니다.

Python 입문부터 숙련까지: 기초부터 프로젝트 개발까지 Python 입문부터 숙련까지: 기초부터 프로젝트 개발까지 Feb 20, 2024 am 11:42 AM

1. Python 소개 Python은 배우기 쉽고 강력한 범용 프로그래밍 언어로 1991년 Guido van Rossum에 의해 만들어졌습니다. Python의 디자인 철학은 코드 가독성을 강조하고 개발자에게 다양한 애플리케이션을 빠르고 효율적으로 구축하는 데 도움이 되는 풍부한 라이브러리와 도구를 제공합니다. 2. Python 기본 구문 Python의 기본 구문은 변수, 데이터 유형, 연산자, 제어 흐름 명령문 등을 포함하여 다른 프로그래밍 언어와 유사합니다. 변수는 데이터를 저장하는 데 사용됩니다. 데이터 유형은 변수가 저장할 수 있는 데이터 유형을 정의합니다. 연산자는 데이터에 대한 다양한 작업을 수행하는 데 사용됩니다. 프로그램의 실행 흐름을 제어하는 ​​데 사용됩니다. 3.Python의 Python 데이터 유형

C 언어의 기본 구문과 데이터 유형 소개 C 언어의 기본 구문과 데이터 유형 소개 Mar 18, 2024 pm 04:03 PM

C 언어는 효율적이고 유연하며 강력한 컴퓨터 프로그래밍 언어로 널리 사용됩니다. C 언어 프로그래밍에 능숙하려면 먼저 C 언어의 기본 구문과 데이터 유형을 이해해야 합니다. 이 기사에서는 C 언어의 기본 구문과 데이터 유형을 소개하고 예제를 제공합니다. 1. 기본 구문 1.1 주석 C 언어에서는 주석을 사용하여 코드를 설명함으로써 이해와 유지 관리를 용이하게 할 수 있습니다. 주석은 한줄 주석과 여러줄 주석으로 나눌 수 있습니다. //한줄 주석입니다/*여러줄 주석입니다*/1.2 키워드 C 언어

See all articles