JavaScript 면접 질문 — 데이터 형식
지금 http://jauyeung.net/subscribe/에 내 이메일 목록을 구독하십시오.
전방 개발자의 일자리를 얻기 위해서 우리는 코딩 면접을 완성해야 한다.
본고에서 우리는 인터뷰에서 자주 묻는 기교적인 문제를 포함하여 데이터 유형의 문제를 소개할 것이다.
JavaScript의 falsy 값은 무엇입니까?
JavaScript에서 falsy 값은 다음과 같습니다.
''
null
undefined
false
NaN
false
으로 변한다.값이 잘못되었는지 어떻게 검사합니까?
!!
연산자나 Boolean
기능을 사용하여 그것들의 오류 여부를 검사합니다.만약 어떤 값이falsy라면, 둘 다 되돌아갈 것이다.
false
예를 들면 다음과 같습니다.!!0
(으)로 돌아갑니다.Boolean(0)
또한 false
로 돌아갑니다.무엇이 진정한 가치관입니까?
실제 값은 위에 나열된 거짓 값을 제외한 모든 값입니다.
포장기 대상은 무엇입니까?
패키지 대상은 구조 함수에서 만들어진 대상이며, 이러한 구조 함수는 기본값을 되돌려주지만, 숫자나 문자열이면 그 유형은
false
이다.기호와 BigInt에는 고유한 유형이 있습니다.자바스크립트에는
'object'
, Number
구조 함수와 String
공장 함수가 있다.원어 값이 임시로 패키지 대상으로 변환되어 호출 방법입니다.
예를 들어 다음과 같이 쓸 수 있습니다.
'foo'.toUpperCase()
그리고 우리는 얻었다Symbol
.그것의 작업 원리는 BigInt
텍스트를 대상으로 변환한 다음에 그것을 호출하는 'FOO'
방법이다.디지털 및 BigInt의 패키지 객체를 다음과 같이 만들 수도 있습니다.
new Number(1)
BigInt(1)
직접 'foo'
나 toUpperCase()
구조 함수를 사용하는 것은 매우 유용하지 않기 때문에 우리는 그것을 사용하는 것을 피해야 한다.그것들은 우리에게 대상의 유형을 제공했지만 원시 대상과 같은 내용을 가지고 있다.만약 우리가
Number
조작부호를 사용하여 String
와 Number
패키지 대상을 만들었다면 다음과 같다.const numObj = new Number(1);
const strObj = new String('foo');
우리는 String
방법을 사용하여 이 포장기 대상의 원어치 버전을 다음과 같이 되돌릴 수 있다.numObj.valueOf();
strObj.valueOf();
은성 협박과 현성 협박은 어떤 차이가 있습니까?
암시적 강제는 JavaScript 해석기가 데이터를 명시적으로 호출할 필요 없이 한 유형에서 다른 유형으로 변환한다는 것을 의미합니다.
예를 들어, 다음 표현식이 문자열로 암시적으로 변환됩니다.
console.log(1 + '2');
그리고 우리는 다음과 같은 것을 얻었다.'12'
되돌아오는 이유는 1 스텔스 변환new
이다.또 다른 예는 다음과 같다.
true + false
우리는 valueOf
가 1로 전환되었기 때문에 '1'
가 0으로 전환되었기 때문에 그것들을 합쳤다.다음 예는 다음과 같습니다.
3 * '2'
true
가 false
로 전환되어 곱하기 때문에 6으로 돌아갑니다.JavaScript 필수 규칙의 전체 목록은 here입니다.
현식 변환은 호출 방법이나 연산자 변환 형식을 사용하여 이루어진다.
우리는 코드에서 강제를 볼 수 있다.
예를 들면 다음과 같습니다.
+'1' + +'2'
'2'
와 2
가 모두 일원'1'
연산자에 의해 숫자로 전환되었기 때문에 3을 얻었다.우리도 함수로 같은 일을 할 수 있다.예를 들어 우리는 일원
'2'
연산자가 아닌 +
함수를 사용할 수 있다.위의 표현식을 다음과 같이 바꿀 수 있습니다.
parseInt('1') + parseInt('2')
그리고 우리는 같은 결과를 얻었다.0 | | 1이 반환하는 항목은 무엇입니까?
parseInt
falsy이기 때문에 두 번째 조작수 운행을 촉발합니다. 이것은 우리에게 1을 주었습니다.그래서 1로 돌아가야 한다.0과 1은 무엇을 되돌려줍니까?
+
falsy이기 때문에 운행을 중지할 것입니다. 왜냐하면 우리는 단거리 평가를 했기 때문입니다.그래서 우리는 0으로 돌아간다.false='0'은 무엇을 되돌려줍니까?
0
는falsy이고0
는0으로 전환되었는데이는falsy이기 때문에false
의 비교 기준은 같다.따라서 우리는 돌아가야 한다'0'
.4<5<6은 무엇을 되돌려줍니까?
JavaScript에서 비교는 왼쪽에서 오른쪽으로 진행됩니다.우선
==
은 평가를 받을 것이고 이것은 우리true
에게 줄 것이다.그리고 4 < 5
를 평가하여 true
로 전환했고 후자도true < 6
였다.그래서 우리는
1 < 6
로 돌아왔다.6>5>4는 무엇을 되돌려줍니까?
JavaScript에서 비교는 왼쪽에서 오른쪽으로 진행됩니다.이에 따라
true
우선 평가가 이뤄진다.이것은 우리에게 주었다 true
.그리고 6 > 5
에 대해 값을 구하고 이를 true
, 즉true > 4
로 전환한다.따라서 표현식이 되돌아온다
1 > 4
.typeof undefined = typeof null 은 무엇을 되돌려줍니까?
false
반품false
과typeof undefined
반품'undefined'
.typeof null
는 'object'
와 같기 때문에 표현식은 'undefined'
이어야 한다.유형 10은 무엇을 되돌려줍니까?
JavaScript는
'object'
를 false
로 계산합니다.따라서 되돌아오기 typeof typeof 10
는 문자열이기 때문에 되돌아오기 typeof (typeof 10)
이다.
Reference
이 문제에 관하여(JavaScript 면접 질문 — 데이터 형식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aumayeung/javascript-interview-questions-data-types-12mj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)