데이터 형식 과 연산 자
JavaScript 는 6 가지 데이터 형식 을 정의 합 니 다: 수치, 문자열, 불 값, undefined, null, 대상.원본 형식: 수치, 문자열, 불 값;복잡 유형: 대상.우 리 는 수치, 문자열, 불 값 을 원시 형식 (primitive type) 의 값 이 라 고 부 릅 니 다. 즉, 가장 기본 적 인 데이터 형식 이 므 로 더 이상 세분 화 할 수 없습니다.대상 을 합성 유형 (complex type) 의 값 이 라 고 부 릅 니 다. 한 대상 은 여러 개의 원시 유형의 값 을 합성 하기 때문에 여러 가지 값 을 저장 하 는 용기 로 볼 수 있 습 니 다.undefined 와 null 에 대해 서 는 보통 두 개의 특수 값 으로 봅 니 다.
대상 은 세 개의 하위 유형 으로 나 눌 수 있 습 니 다. 좁은 의미 의 대상 (object) 배열 (array) 함수 (function)
2. type: of 와 instanceof 의 역할 과 차이 점 은?
type: of 연산 자 는 값 의 데이터 형식 을 되 돌려 줍 니 다. 다음 과 같은 결과 가 있 을 수 있 습 니 다.
(1) 원본 형식
수치, 문자열, 불 값 은 각각 number, string, boolean 을 되 돌려 줍 니 다.
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
(2) 함수
함수 반환 function.
function f() {}
typeof f
// "function"
(3)undefined
undefined 돌아 가기 undefined.
typeof undefined
// "undefined"
이 점 을 이용 하여 type of 는 잘못 보고 하지 않 고 성명 이 없 는 변 수 를 검사 할 수 있 습 니 다.
v
// ReferenceError: v is not defined
typeof v
// "undefined"
위의 코드 에서 변수 v 는 var 명령 으로 설명 하지 않 고 직접 사용 하면 오류 가 발생 합 니 다.그러나 type: of 뒤에 놓 으 면 잘못 보고 하지 않 고 undefined 로 돌아 갑 니 다.
실제 프로 그래 밍 에서 이 특징 은 보통 판단 문 에 쓰 인 다.
//
if (v) {
// ...
}
// ReferenceError: v is not defined
//
if (typeof v === "undefined") {
// ...
}
(4) 기타
이 외 에 다른 상황 은 모두 object 로 돌아 갑 니 다.
typeof window // "object"
typeof {} // "object"
typeof [] // "object"
typeof null // "object"
위의 코드 에서 볼 수 있 듯 이 빈 배열 ([]) 의 유형 도 object 이다. 이것 은 자바 스 크 립 트 내부 에서 배열 은 본질 적 으로 특수 한 대상 일 뿐 임 을 나타 낸다.
또한 null 의 유형 도 object 입 니 다. 이것 은 역사적 인 원인 으로 인 한 것 입 니 다.1995 년 자 바스 크 립 트 언어의 제1 판 은 모든 값 이 32 비트 로 설계 되 었 는데 그 중에서 가장 낮은 3 비트 는 데이터 형식 을 표현 하 는데 object 가 대응 하 는 값 은 000 이다.당시 에는 다섯 가지 데이터 형식 (대상, 정수, 부동 소수점, 문자열, 불 값) 만 설계 되 었 고 null 은 전혀 고려 하지 않 고 object 의 특수 값 으로 만 생각 했 으 며 32 비트 는 모두 0 이 었 다.이것 은 type: of null 이 object 로 돌아 가 는 근본 적 인 원인 입 니 다.
이전의 코드 를 호 환 하기 위해 서 나중에 수정 할 방법 이 없 었 다.이것 은 null 이 대상 에 속한다 고 말 하 는 것 이 아니 라 본질 적 으로 null 은 undefined 와 유사 한 특수 값 이다.
typeof 가 배열 (array) 과 대상 (object) 에 대한 표시 결과 가 object 인 이상 어떻게 구분 합 니까?instanceof 연산 자 는 할 수 있 습 니 다.
var o = {};
var a = [];
o instanceof Array // false
a instanceof Array // true
3. 변수 가 숫자, 문자열, 불, 함수 인지 어떻게 판단 합 니까?
type: of 연산 자 를 사용 하여 값 의 데이터 형식 을 되 돌려 줍 니 다.
4. NaN 은 무엇 입 니까?무슨 특별한 점 이 있 습 니까?
NaN 의 의 미 는 Not a Number 로 비 숫자 를 나타 내 며 NaN 과 그 어떠한 값 도 같 지 않 고 자신 을 포함한다.문자열: 수치 로 해석 되 지 않 으 면 NaN 으로 돌아 갑 니 다.undefined: NaN 으로 전환 하기;
NaN==NaN
false
NaN===NaN
false
5. 비수 치 를 어떻게 수치 로 바 꿉 니까?
세 개의 함수 가 비수 치 를 수치 로 변환 할 수 있다
parseInt('blue'); //NaN
parseInt('-23ABS'); // -23
parseInt('0xf1'); // 241
parseInt('101', 2); // 5
parselnt () 는 정수 로, parseFloat () 는 소수 로 바뀐다.
6. = = = = = 어떤 차이 가 있 습 니까
= = 비슷 하 다Js 코드 는 가능 한 한 절대 동일 (= = =) 을 사용 합 니 다.= = 을 사용 할 때 자 바스 크 립 트 는 우리 가 유형 전환 을 하 는 것 을 도와 상상 할 수 없 는 결 과 를 가 져 옵 니 다.
7. break 와 contine 은 어떤 차이 가 있 습 니까?
break 구문 과 continue 문 구 는 모두 점프 작용 을 합 니 다. 코드 가 기 존 순서대로 실행 되 지 않도록 합 니 다. break 문 구 는 코드 블록 이나 순환 을 뛰 어 내 리 는 데 사 용 됩 니 다. contine 문 구 는 이 순환 을 즉시 종료 하고 순환 구조의 머리 로 돌아 가 다음 순환 을 시작 합 니 다. 다 중 순환 이 존재 한다 면 매개 변수 가 없 는 break 구문 과 contine 문 구 는 모두 최 내부 순환 만 을 대상 으로 합 니 다.
8. void 0 과 undefined 는 사용 장면 에서 어떤 차이 가 있 습 니까?
undefined 는 부분 적 인 역할 영역 에서 덮어 쓸 수 있 으 며, void 연산 반환 은 모두 undefined 입 니 다.
9. 다음 코드 의 출력 결 과 는? 왜?
console.log(1+1); answer: 2
console.log("2"+"4"); answer:"24"
console.log(2+"4"); answer: "24"
console.log(+"4"); answer: 4
문자열 의 자동 변환 은 주로 덧셈 연산 에서 발생 합 니 다. 한 값 이 문자열 이 고 다른 값 이 비 문자열 이면 후 자 는 문자열 로 전 환 됩 니 다. 덧셈 연산 자 를 제외 하고 다른 연산 자 는 연산 자 를 자동 으로 수치 로 바 꿀 수 있 습 니 다. 일원 연산 자 도 연산 자 를 수치 로 바 꿉 니 다.
10. 다음 코드 의 출력 결 과 는?
var a = 1;
a+++a;
typeof a+2;
answer: "number2"
typeof + ;
11. 다음 코드 의 출력 결 과 는? 왜?
var a = 1;
var b = 3;
console.log( a+++b );
answer: 4
(a++)+b 1+3 4
12. 배열 을 옮 겨 다 니 며 배열 의 인쇄 배열 각 항목 의 제곱 을 인쇄 합 니 다.
var arr = [3,4,5];
for (i=0;i<3;i+=1){
console.log(arr[i]*arr[i])
};
13. JSON 을 옮 겨 다 니 며 값 을 출력 합 니 다.
var obj = {
name: 'hunger',
sex: 'male',
age: 28
}
for (key in obj) {
console.log(key,":",obj[key]);
}
14. 다음 코드 출력 결 과 는? 왜 (제목 선택)
var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val)
answer:"number2"
또는 연산 자 (| | |) 의 연산 규칙 은 첫 번 째 연산 자의 불 값 이 true 라면 첫 번 째 연산 자의 값 을 되 돌려 주 고 두 번 째 연산 자 에 게 값 을 구하 지 않 습 니 다. 첫 번 째 연산 자의 불 값 이 false 라면 두 번 째 연산 자의 값 을 되 돌려 줍 니 다.
var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)
:bb
undefined
console. log ('bb') 이 함수 표현 식 의 반환 값 은 data 에 부여 합 니 다. 이 함수 표현 식 의 반환 값 은 undefined 이기 때문에 data 는 undefined 입 니 다. 또한 연산 자의 연산 규칙 은 첫 번 째 연산 자의 불 값 이 true 라면 두 번 째 연산 자의 값 (주 의 는 값 이지 불 값 이 아 닙 니 다) 을 되 돌려 줍 니 다.; 첫 번 째 연산 자의 불 값 이 false 라면 첫 번 째 연산 자의 값 을 직접 되 돌려 주 고 두 번 째 연산 자 에 대해 값 을 구하 지 않 습 니 다.
var data2 = d = 0 || console.log('haha')
console.log(data2)
answer: haha
undefined
또는 연산 자 (| | |) 의 연산 규칙 은 첫 번 째 연산 자의 불 값 이 true 라면 첫 번 째 연산 자의 값 을 되 돌려 주 고 두 번 째 연산 자 에 게 값 을 구하 지 않 습 니 다. 첫 번 째 연산 자의 불 값 이 false 라면 두 번 째 연산 자의 값 을 되 돌려 줍 니 다.
var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)
answer:2
반송 연산 자 를 가 져 오 는 형식 은 느낌표 입 니 다. 불 값 을 반대 값 으로 바 꾸 는 데 사 용 됩 니 다. 즉, true 는 false 로, false 는 true 로 변 합 니 다. 불 값 이 아 닌 데 이 터 는 반송 연산 자 를 가 져 오 면 자동 으로 불 값 으로 변 합 니 다. 규칙 은 다음 6 개의 값 을 가 져 오 면 true 이 고, 다른 값 을 가 져 오 면 false 입 니 다.
undefined null false 0 (+ 0 과 - 0 포함) NaN 빈 문자열 (')
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.