데이터 형식 과 연산 자

6941 단어
1. JavaScript 는 몇 가지 데이터 형식 을 정의 합 니까?어떤 것 이 원시 유형 입 니까?어떤 것 이 복잡 한 유형 입 니까?원시 유형 과 복잡 한 유형의 차 이 는 무엇 입 니까?
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. 비수 치 를 어떻게 수치 로 바 꿉 니까?
세 개의 함수 가 비수 치 를 수치 로 변환 할 수 있다
  • Number()
  • parseInt()
  • parseFloat () Number 함수, 강제 변환, 임의의 유형의 값 을 수치 로 변환 할 수 있 습 니 다.Number 함 수 는 문자열 을 수치 로 바 꾸 는데 parseInt 함수 보다 훨씬 엄격 합 니 다.기본적으로 한 글자 만 수치 로 바 꿀 수 없다 면 전체 문자열 은 NaN 으로 전 환 됩 니 다.parseInt parseFloat 1. 문자열 앞의 공백 문 자 를 무시 하고 첫 번 째 비 공백 문 자 를 찾 습 니 다.
    parseInt('blue'); //NaN
        parseInt('-23ABS'); // -23
        parseInt('0xf1'); // 241
        parseInt('101', 2); // 5
    

    parselnt () 는 정수 로, parseFloat () 는 소수 로 바뀐다.
    6. = = = = = 어떤 차이 가 있 습 니까
    = = 비슷 하 다Js 코드 는 가능 한 한 절대 동일 (= = =) 을 사용 합 니 다.= = 을 사용 할 때 자 바스 크 립 트 는 우리 가 유형 전환 을 하 는 것 을 도와 상상 할 수 없 는 결 과 를 가 져 옵 니 다.
  • 두 값 의 유형 이 같 으 면 엄격 한 연산
  • 을 집행 한다.
  • 두 값 의 유형 이 다 르 면 하 나 는 null 이 고 하 나 는 undefined 입 니 다. 같다 면 하 나 는 숫자 이 고 하 나 는 문자열 입 니 다. 먼저 문자열 을 숫자 로 바 꾼 다음 에 비교 합 니 다. 만약 에 한 값 이 true / false 라면 1 / 0 으로 비교 합 니 다. 만약 에 한 값 이 대상 이 고 하 나 는 숫자 나 문자열 이 라면 value Of 와 toString 을 사용 하여 비교 합 니 다.

  • 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 빈 문자열 (')

    좋은 웹페이지 즐겨찾기