JavaScript에는 문자열, 숫자, 부울, 정의되지 않음, null 및 개체를 포함한 6가지 주요 데이터 유형이 있습니다. 다음은 이 글을 통해 자바스크립트의 특별한 데이터 유형을 소개한 내용입니다. 필요한 친구들이 참고하면 도움이 될 것입니다.
1. JS의 특수 유형: NaN
NaN은 숫자가 아닙니다. 그렇다면 NaN은 정확히 무엇인가요? JS에서는 정수형과 부동소수점 숫자를 합쳐서 숫자형이라고 부른다. 또한 숫자형에도 정확한 값이 아닌 숫자형의 상태인지를 나타내는 데 사용되는 아주 특별한 값, 즉 NaN이 있다. 값입니다(따라서 NaN은 그 자체와 동일하지 않습니다).
그럼, NaN 값은 일반적으로 어떤 상황에서 나타나는 걸까요?
일반적으로 두 가지 상황이 있습니다.
(1) 식에 빼기 기호(-), 곱하기 기호(*) 또는 나누기 기호(/)와 같은 연산자가 있는 경우 JS 엔진은 이전에 연산 변환을 시도합니다. 계산 연산자의 양쪽 변수는 숫자 유형으로 변환됩니다(변환에 실패하면 표현식은 NaN을 반환합니다. 더하기(+) 연산자는 양쪽 변수를 변환하지 않습니다. 이는 JS 표현식의 실행 순서가 연산자의 우선 순위에 따라 왼쪽에서 오른쪽으로 이루어지기 때문에 더하기 기호(+) 양쪽의 변수가 숫자 유형인 경우 숫자 추가 연산이 수행됩니다. . 변수가 문자열이면 양쪽이 다음과 같이 문자열로 추가됩니다. 숫자가 아닌 값을 숫자로 변환하면 표현식은 NaN을 반환합니다
"abc" - 3 // NaN parseInt( "abc" ) // NaN parseFloat( "abc" ) //NaN Number( "abc" ) //NaN
숫자 + 문자 값의 경우 변환 결과가 달라집니다.
Number( "123abc" ); //NaN parseInt( "123abc" ); //123 parseInt( "123abc45" ); //123 parseFloat( "123.45abc" ); //123.45
이는 Number가 전체를 변환하기 때문입니다. 값이 아닌 부분 값인 경우,parseInt 및parseFloat는 첫 번째 유효하지 않은 문자 앞의 문자열만 변환합니다.
따라서 문자열을 Number로 성공적으로 변환할 수 없는 경우,parseInt,parseFloat,NaN이 반환되는데, 이는 문자열을 숫자형으로 인식할 수 없음을 나타내는 예외 상태이며 정확한 값은 아닙니다.
그래서 NaN != NaN 입니다. 정확한 값이 아니라 예외이기 때문입니다.
또한 NaN과 관련된 함수, 즉 isNaN()이 있는데, 그 기능은 Number()로 문자열이 성공적으로 변환되는지 확인하는 것, 즉 문자열 전체를 강제로 변환하는 것입니다.
isNaN( "123" ) //false 能转换 isNaN( "abc" ) //true 不能转换 isNaN( "123abc" ) //true 部分可转换,但整体不能转换 isNaN( "123.45abc" ) //true 部分可转换,但整体不能转换
2. JS에는 undeinfed와 null이라는 두 가지 특별한 유형이 있습니다.
undefine은 JavaScript의 6가지 데이터 유형 중 하나이며 정의되지 않은 값입니다. 정의되지 않음은 '정의되지 않음'을 의미합니다. 즉, var를 사용하여 변수를 선언했지만 값이 할당되지 않은 경우 변수 값이 정의되지 않은 경우에는 두 가지 이유가 있습니다:
(1) 존재하지 않는 속성 또는 메서드에 액세스합니다.
(2) 변수가 선언되었지만 값이 할당되지 않았습니다
var v1,obj = {}; console.log(v1); //undefined console.log(obj. get ); //undefined typeof v1; // "undefined" typeof v2; // "undefined" typeof obj. get ; // "undefine" typeof obj ; // "object"
NaN과의 차이점은 정의되지 않음도 변수의 상태를 나타내지만 이 상태 값은 확실히 고유하다는 것입니다. 변수가 선언되었지만 값이 지정되지 않은 경우 해당 상태는 정의되지 않았으므로 다음 표현식이 true입니다.
var b; b == undefined; //true
정의되지 않음을 이해하고 나면 null 유형에도 null만 있다는 것을 이해하는 것이 훨씬 쉬울 것입니다. 하나의 값: null(유효한 데이터가 없음) 여기서 Null은 빈 값 또는 빈 개체를 의미합니다. 더 정확하게는 null에 할당된 변수에는 유효한 값, 문자열, 불리언, 배열 또는 개체 등이 저장되지 않습니다. 변수에 null을 할당하면 해결됩니다. 변수의. null이 발생하는 이유는 단 하나입니다. 즉, 변수에 null을 명시적으로 할당하는 것입니다.
var p = null ; console.log(p); //null typeof p ; // "object" typeof null ; // "object"
NaN과 비교해 보겠습니다. Null도 특정하고 고유한 상태 값입니다. 변수에 null 값이 할당되면 null과 같으므로 다음 표현식도 true입니다.
var obj = null ; obj == null ; //true추가:
var v1 = null; var v2; console.log(v1 + 1 ); // 1 console.log(v2 + 1 ); //NaN var i = i +1; var j = i+ 1; console.log(i); // NaN console.log(j ); //NaN console.log(i == j ); //false관련 추천: PHP 자율 학습 no00010 특수 데이터 유형 null 값
기본 정보 js의 데이터 유형과 참조 데이터 유형의 차이점
위 내용은 JavaScript의 특수 데이터 유형에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기
