js 의 기본 데이터 형식 은 어떤 것 이 있 습 니까?
ECMAScript
중 5 가지 간단 한 데이터 유형 (기본 데이터 유형 이 라 고도 함) 이 있다. Undefined
, Null
, Boolean
, Number
와 String
.그리고 1 중의 복잡 한 데이터 유형 인 Object
, Object
은 본질 적 으로 무질서 한 이름 값 쌍 으로 구성 된다.이 가운데
Undefined
, Null
, Boolean
, Number
모두 기본 유형 에 속한다.Object
, Array
와 Function
는 인용 유형 에 속 하고 String
은 약간 특수 하 며 구체 적 인 것 은 아래 에서 분석 할 것 이다.변량
ECMAScript
에서 var
키워드 로 변 수 를 정의 합 니 다. js
은 약 한 유형 이기 때문에 변수 가 반드시 어떤 값 을 저장 할 지 확정 할 수 없고 변수 가 어떤 유형 인지 알 수 없 으 며 변수의 유형 은 수시로 변 할 수 있 습 니 다.이것 이 바로
ECMAScript
느슨 한 유형의 이유 이다. 느슨 한 유형 이란 모든 유형의 데 이 터 를 저장 할 수 있 는 것 이다.ps:
es6
에 변 수 를 설명 하 는 명령 let
이 추가 되 었 습 니 다. const
명령 은 읽 기 전용 상수 입 니 다.let
의 용법 은 var
과 유사 하지만 설명 한 변 수 는 let
명령 이 있 는 코드 블록 에서 만 유효 합 니 다.const
일단 성명 하면 상량 의 값 은 바 꿀 수 없다.let
, const
여기 서 토론 을 하지 않 으 면 완 일 봉 - ECMAScript 6 입문 을 참고 할 수 있 습 니 다.type: of 연산 자
js
의 변 수 는 느슨 한 형식 이기 때문에 현재 변 수 를 검사 하 는 데이터 형식 을 제공 합 니 다. 즉, type of 키워드 입 니 다. typeof
키 워드 를 통 해 이 5 가지 데이터 형식 에 대해 다음 값 (문자열 로 표시) undefined
을 되 돌려 줍 니 다.Undefined
--- --- 이 값 이 불 값 이 라면 boolean
Boolean
--- --- - 이 값 이 문자열 이 라면 string
String
--- --- 이 값 이 수치 유형 이 라면 number
Number
--- --- 이 값 이 대상 이거 나 object
null
주의해 야 할 것 은 Object
특수 값 typeof null
이 빈 대상 인용 으로 여 겨 지기 때문이다.Undefined
object
유형 은 하나의 값, 즉 특수 한 null
만 있 습 니 다. Undefined
성명 변 수 를 사용 하지만 초기 화 되 지 않 았 을 때 이 변수의 값 은 undefined
입 니 다. 단, 일반적으로 변 수 를 초기 화 하 는 것 을 권장 하지만 초기 var
판 에는 규정 이 없습니다 undefined
.이 값 은 일부 프레임 워 크 에서 오래된 브 라 우 저 를 호 환 하기 위해 js
대상 에 게 undefined
값 을 추가 합 니 다.window['undefined'] = window['undefined'];
//
window.undefined = window.undefined;
Null
window
유형 은 두 번 째 값 만 있 는 데이터 형식 으로 이 특수 한 값 은 undefined
입 니 다. 논리 적 으로 Null
값 은 빈 대상 지침 을 표시 합 니 다. 이것 이 바로 null
연산 자 검 측 null
을 사용 할 때 되 돌아 오 는 typeof
이유 입 니 다. var car = null;
console.log(typeof car); // "object"
정 의 된 변 수 를 나중에 저장 대상 에 사용 하려 면 이 변 수 를 다른 값 이 아 닌
null
으로 초기 화 하 는 것 이 좋 습 니 다. 이렇게 되면 object
값 을 직접 검사 하면 해당 변수 가 대상 의 인용 을 저장 하 였 는 지 알 수 있 습 니 다. 예 를 들 어: if(car != null){
// car
}
실제로 undefined 값 은 null 값 에서 파생 되 기 때문에 ECMA - 262 는 이들 에 대한 동등한 테스트 를 true 로 되 돌려 야 한다 고 규정 하고 있다.
console.log(undefined == null); //true
null 과 undefined 는 이러한 관계 가 있 지만, 그 용 도 는 완전히 다 릅 니 다. 어떤 경우 에 도 하나의 변수의 값 을 undefined 로 명시 적 으로 설정 할 필 요 는 없 지만, 같은 규칙 은 null 에 적용 되 지 않 습 니 다. 대상 의 변 화 량 이 진정 으로 저장 되 지 않 았 다 면, 이 변 수 를 null 값 으로 명확 하 게 저장 해 야 합 니 다.null 이 빈 대상 포인터 로 서 의 관례 를 나 타 낼 수 있 고 null 과 undefined 를 더욱 구분 하 는 데 도 도움 이 된다.
Boolean
이 유형 은 두 글자 의 액면가 만 있 습 니 다. true 와 false 입 니 다. 이 두 값 은 숫자 값 과 같 지 않 기 때문에 true 는 반드시 1 이 아니 라 false 도 반드시 0 이 아 닙 니 다.
Boolean 형식의 글자 값 은 두 개 에 불과 하지만, JavaScript 의 모든 종류의 값 은 이 두 개의 Boolean 값 과 등가 의 값 을 가지 고 있 습 니 다. 하나의 값 을 해당 하 는 Boolean 값 으로 변환 하려 면, 형식 변환 함수 Boolean () 을 호출 할 수 있 습 니 다. 예 를 들 어:
var message = 'Hello World';
var messageAsBoolean = Boolean(message);
이 예 에서 문자열 message 는 boolean 값 으로 변환 되 었 습 니 다. 이 값 은 message AsBoolean 변수 에 저 장 됩 니 다. 모든 데이터 형식의 값 을 Boolean () 으로 호출 할 수 있 습 니 다.함수, 그리고 항상 Boolean 값 을 되 돌려 줍 니 다. 되 돌아 오 는 이 값 이 true 인지 false 인지 에 대해 서 는 값 을 바 꿀 데이터 형식 과 실제 값 에 달 려 있 습 니 다. 아래 표 는 각종 데이터 형식 과 대상 의 변환 규칙 을 보 여 줍 니 다.
데이터 형식
true 값 으로 변환
false 값 으로 변환
Boolean
true
false
String
비어 있 지 않 은 문자열
"" (빈 문자열)
Number
0 이 아 닌 모든 수치 (무한대 포함)
0 과 NAN
Object
어떠한 대상 도
null
Undefined
적용 되 지 않다
undefined
var message = 'Hello World';
if(message)
{
alert("Value is true");
}
이 예제 를 실행 하면 경고 상자 가 표 시 됩 니 다. 문자열 message 가 해당 하 는 Boolean 값 (true) 으로 자동 으로 변환 되 었 기 때 문 입 니 다. 이러한 자동 으로 실행 되 는 Boolean 변환 이 존재 하기 때문에 흐름 제어 문 에서 사용 하 는 변수 가 무엇 인지 정확하게 알 수 있 습 니 다.
ps: 사용!! 연산 자 는 불 값 을 변환 합 니 다!! 보통 뒤의 표현 식 을 불 형식의 데이터 (boolean) 로 강제로 변환 합 니 다. 즉, true 나 false 만 사용 합 니 다.
null 과 undefined 등 다른 암시 적 으로 전환 하 는 값 에 대해 서 는! 연산 자 를 사용 할 때 true 의 결과 가 발생 하기 때문에 두 개의 느낌표 로 이 값 을 '등가' 의 불 값 으로 바 꾸 는 역할 을 합 니 다.
var foo;
alert(!foo);//undifined , true;
alert(!goo);//null , true;
var o={flag:true};
var test=!!o.flag;// var test=o.flag||false;
alert(test);
이 예 는 undifined 와 null 에서 하나의 느낌표 로 되 돌아 오 는 것 이 모두 true 이 고 두 개의 느낌표 로 되 돌아 오 는 것 이 false 이기 때문에 두 느낌표 의 역할 은 변수의 값 (비 null / undifined / 0 / '등 값) 을 명확 하 게 설정 하면 결 과 는 변수의 실제 값 에 따라 되 돌아 오고 설정 되 지 않 으 면 결 과 는 false 로 돌아 가 는 것 이다.
그리고 다른 작은 기술 도 있 습 니 다. 이 12 개의 자 바스 크 립 트 기술 을 참고 하 실 수 있 습 니 다.
Number
이 유형 은 정수 와 부동 소수점 수 치 를 나타 내 는 데 사용 되 며, NaN (비 수치 Not a Number) 이라는 특수 한 수치 도 있 습 니 다. 이 수 치 는 원래 수 치 를 되 돌려 주 려 고 했 던 동작 수가 수 치 를 되 돌려 주지 않 은 상황 을 나타 내 는 데 사 용 됩 니 다. (이렇게 하면 오류 가 발생 하지 않 습 니 다)예 를 들 어 다른 프로 그래 밍 언어 에 서 는 0 을 나 누 면 오류 가 발생 하여 코드 실행 을 중단 합 니 다. 단, 자바 스 크 립 트 에 서 는 0 을 나 누 면 NaN 으로 되 돌아 오기 때문에 다른 코드 의 실행 에 영향 을 주지 않 습 니 다.
NaN 자 체 는 두 가지 예 사 롭 지 않 은 특징 이 있 습 니 다. 우선 NaN 과 관련 된 모든 동작 (예 를 들 어 NaN / 10) 은 NaN 으로 돌아 갑 니 다. 이 특징 은 다단 계 계산 에서 문 제 를 일 으 킬 수 있 습 니 다. 그 다음 에 NaN 은 NaN 자 체 를 포함 하여 어떠한 값 과 도 같 지 않 습 니 다. 예 를 들 어 아래 코드 는 false 로 돌아 갑 니 다.
alert(NaN == NaN); //false
String
String 형식 은 16 자리 유 니 코드 문자 로 구 성 된 문자열 을 표시 하 는 데 사 용 됩 니 다. 문자열 은 작은 따옴표 (') 나 작은 따옴표 (') 로 표시 할 수 있 습 니 다.
String 형식의 특수성
string 형식 은 약간 특수 합 니 다. 문자열 은 가 변 적 인 크기 를 가지 고 있 기 때문에 고정 적 인 크기 의 변수 에 직접 저장 할 수 없습니다. 효율 적 인 이유 로 문자열 의 내용 이 아 닌 문자열 에 대한 인용 만 복사 하 기 를 바 랍 니 다. 그러나 다른 한편, 문자열 은 여러 가지 측면 에서 기본 형식 과 비슷 합 니 다. 문자열 은 가 변 적 이지 않 습 니 다.이 사실 (즉, 문자열 값 의 내용 을 바 꿀 수 없 음) 은 문자열 을 기본 형식 과 비슷 한 가 변 참조 형식 으로 볼 수 있 습 니 다.
Boolean, Number, String 이 세 가 지 는 Javascript 의 기본 포장 유형 입 니 다. 즉, 이 세 가 지 는 구조 함수 입 니 다. 그들 은 Function 의 인 스 턴 스 이 고 인용 유형 입 니 다. 여기 String 은 상기 String 과 동명 이인 입 니 다. 사실은 앞에서 말 한 String 은 문자열 을 말 하 는데 여기 String 은 String 이라는 구조 함 수 를 말 합 니 다. 위 에 그렇게 쓰 여 있 습 니 다.Javascript 은 느슨 한 형식 이기 때문에 더 잘 이해 하기 위해 서 입 니 다. String 의 실례 화 된 예 를 볼 수 있 습 니 다.
var name = String("jwy");
alert(typeof name);//"string"
var x=new String('12345')
typeof x //object
x='12345'
typeof x //string
var author = "Tom";
alert(typeof name);//"string"
author 에 대해 서 는 length, substring 등 방법 이 있 습 니 다. 사실 string 은 String 의 인 스 턴 스 일 뿐 C \ # 의 String 과 string 과 유사 합 니 다.
type: of 변 수 는 값 이 "string" 이면 이 변 수 는 문자열 입 니 다. 자바 script 에 서 는 문자열 이 기본 형식 이 고 C \ # 또는 자바 에 서 는 문자열 이 인용 형식 이지 만 자바 script 의 String 은 인용 형식 입 니 다. 자바 script 에서 정 의 된 기본 포장 형식 이기 때문에 C \ # 에 서 는 String 과 string 이 같 습 니 다.
이 게시 물 은 자바 스 크 립 트 고급 프로 그래 밍 (3 판) 내용 을 간략하게 복사 한 것 일 뿐 이 고 자신 이 중심 을 두 는 각도 까지 더 해 져 서 이 게시 물 을 보 는 친 구 는 책 을 읽 어야 합 니 다. 여 기 는 참고 일 뿐 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.