JavaScript 데이터 형식 에 대한 주의 사항
7200 단어 자바 script
ECMAscript 에는 5 가지 간단 한 데이터 형식 이 있 고 기본 데이터 형식 이 라 고도 불 린 다. Undefined, Null, Boolean, Number 와 String.또 하나의 복잡 한 데이터 형식 인 Object 가 있다.
정의 되 지 않 은 유형
var 성명 변 수 를 사용 하지만 초기 화 되 지 않 았 을 때 이 변수의 값 은 undefined 입 니 다.예:
var number;
document.write(number); //undefined
성명 변수 가 없 으 면 다음 과 같은 오류 가 발생 할 수 있 습 니 다.예:
document.write(str); //
그러나
typeof
로 이 를 집행 할 때 성명 이 있 든 없 든 undefined 값 을 되 돌려 줍 니 다.예:var num;
document.write(typeof num); //undefined
document.write(typeof str); //undefined
Null 형식
typeof
null 을 검사 할 때 "object" 를 되 돌려 줍 니 다.예:var num = null;
document.write(typeof num); //object
실제로 undefined 값 은 null 값 에서 파생 되 기 때문에 그들 은 똑 같이 true 로 돌아 갑 니 다.예:
alert(null == undefined); //true
여기 서 주의해 야 할 것 은 대상 을 저장 하려 는 변수 가 대상 을 진정 으로 저장 하지 않 았 다 면 이 변 수 를 null 값 으로 명확 하 게 저장 해 야 한 다 는 것 이다. 이 는 null 과 undefined 를 구분 하 는 데 도움 이 된다.예:
var num1 = null;
var num2;
document.write(typeof num1 + " " + typeof num2); //object undefined
부 울 타 입
하나의 값 을 대응 하 는 Boolean 값 으로 바 꾸 려 면 전환 함수
Boolean()
를 사용 할 수 있 습 니 다.예:var str = "helloworld";
document.write(Boolean(str)); //true
라 는 책의 3.4.4 에 서 는 각종 데이터 형식 과 이에 대응 하 는 변환 규칙 표를 제시 했다.대략 다음 과 같은 몇 가지 가 있다.
여기 서 주의해 야 할 것 은 if 문 구 는 응답 을 자동 으로 실행 하 는 Boolean 변환 을 조건 으로 자주 사용 합 니 다.예:
var str = "helloworld";
if (str){
document.write("hellothere");
} //hellothere
Number 형식
10 진법 으로 표시 할 수 있 는 것 을 제외 하고 정 수 는 8 진법 이나 16 진법 의 글자 액면가 로 표시 할 수 있다. 그 중에서 8 진법 의 첫 번 째 단 계 는 0 이 어야 하고 그 다음 에 8 진법 의 숫자 서열 (0 ~ 7) 이 어야 한다.예:
var num1 = 070; // 56
var num2 = 032; // 32
var num3 = 079; // (>7)
var num4 = 09; // (>7)
16 진수 액면가 의 앞 두 자 리 는 반드시 0 x 이 고 뒤 에는 16 진수 (0 ~ 9 및 A ~ F) 가 있어 야 합 니 다.예:
var num1 = 0xA; // 10
var num1 = 0xa; // 10( )
부동 소수점 수치
여기 서 주의해 야 할 것 은 영원히 특정한 부동 소수점 수 치 를 비교 해 서 는 안 된다 는 것 이다.예:
var a = 0.1;
var b = 0.2;
if (a + b == 0.3){
document.write("you are right")
} // 0.1 0.2 0.30000000000000004
수치 범위
ECMAScript 가 표시 할 수 있 는 최대 와 최소 수 치 는
Number.MAX_VALUE
과 Number.MIN_VALUE
에 저 장 됩 니 다.수치 가 가난 한 지 확인 하려 면 isFinite()
함 수 를 사용 할 수 있 습 니 다.예:document.write(isFinite(Number.MAX_VALUE + Number.MAX_VALUE)); //false
NaN
0 나 누 기 0 은 NaN 으로, 정 수 를 0 으로 나 누 면 인 피 니 티 로, 복 수 는 인 피 니 티 로 돌아간다.그 다음으로 NaN 은 그 자 체 를 포함 하여 그 어떠한 수치 와 도 같 지 않다.또한 함수
isNaN()
는 이 매개 변수 가 '수치 가 아 닙 니 다' 인지 확인 하 는 데 도움 을 줄 수 있 습 니 다.예:document.write(isNaN("a")); //true;
document.write(isNaN("324")); //false;
document.write(isNaN(true)); //false;
document.write(isNaN(false)); //false;
document.write(isNaN(NaN)); //true;
수치 변환
세 개의 함수 가 비 수 치 를 수치 로 바 꿀 수 있다.
Number()
, parseInt()
, parseFloat()
.Number()
의 전환 규칙 은 다음 과 같다.구체 적 으로 아래 의 예 를 보면:
document.write(Number(true)); //1
document.write(Number(false)); //0
document.write(Number("789")); //789
document.write(Number(null)); //0
document.write(Number(undefined)); //NaN
document.write(Number("02.0942")); //2.0942
document.write(Number(0xa)); //10
document.write(Number("")); //0
document.write(Number("fdsa")); //NaN
parseInt()
의 전환 규칙 은 다음 과 같다.parseInt()
NaN 으로 돌아 갑 니 다.parseInt()
로 변환 하면 NaN 으로 돌아 갑 니 다.document.write(parseInt("fds")); //NaN
document.write(parseInt("")); //NaN
document.write(parseInt("1111112abc")); //1111112
document.write(parseInt("-1111112abc")); //-1111112
document.write(parseInt("+1111112abc")); //-1111112
document.write(parseInt("0xa")); //10
document.write(parseInt("0022.00009")); //22
document.write(parseInt("070")); //ECMAScript 3 56( ), ECMAScript 5 70( )
또한 주의해 야 할 것 은 ECMAScript 5 는 8 진법 값 을 해석 하 는 능력 이 없 기 때문에 이 문 제 를 없 애기 위해 이 함수 에 두 번 째 인 자 를 제공 할 수 있 습 니 다. 변환 할 때 사용 하 는 기수 (몇 진법) 는 구체 적 으로 다음 과 같 습 니 다.
document.write(parseInt("070",10)); //70
document.write(parseInt("070",8)); //56
document.write(parseInt("070",16)); //112
대부분의 경우 기본적으로 10 진법 으로 설정 하 는 것 이 좋 습 니 다.
parseFloat()
의 전환 규칙 은 다음 과 같다.parseInt()
과 유사 하 며, 문자열 의 첫 번 째 소수점 은 유효 하 며, 두 번 째 소수점 부터 두 번 째 소수점 을 포함 하 는 것 은 유효 하지 않 습 니 다.다음은 구체 적 인 예 이다.
document.write(parseFloat("421")); //421
document.write(parseFloat("0421.32.1")); //421.32
document.write(parseFloat("0xaafd")); //0
document.write(parseFloat("070")); //70
document.write(parseFloat("070abc")); //70
document.write(parseFloat("")); //NaN
document.write(parseFloat("abc")); //NaN
문자열 형식
하나의 값 을 문자열 로 바 꾸 려 면 두 가지 방법 이 있다.첫 번 째 는 거의 모든 값 이 있 는
toString()
방법 을 사용 하 는 것 이다.다음 과 같다.document.write((533).toString(10)); //"533"
document.write((0xa).toString(10)); //"10"
document.write((0xa).toString(2)); //"1010"
document.write((true).toString(10)); //"true"
document.write((false).toString(10)); //"false"
또 주의해 야 할 것 은 null 과 undefined 가 바 꿀 수 없다 는 것 이다.
document.write((null).toString(10)); //
document.write((undefined).toString(10)); //
변환 해 야 할 수치 가 null 이나 undefined 인지 모 르 면 전환 함수
String()
를 사용 해 야 합 니 다. null 이 라면 "null" 을 되 돌려 줍 니 다. undefined 라면 "undefined" 를 되 돌려 줍 니 다.다음 과 같다.document.write(String(null)); //"null"
document.write(String(undefined)); //"undefined"
개체 유형
그리고 Object 타 입 을 자세히 소개 해 드 리 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.