유형 유틸리티 - JavaScript 과제
소개
유형 확인은 일상적인 코딩 및 기술 인터뷰에서 JavaScript의 일반적인 관행입니다.
이 게시물의 모든 코드는 Github에서 확인할 수 있습니다.
원시 값
JavaScript에서 Object를 제외한 모든 유형은 언어의 가장 낮은 수준에서 직접 표현되는 불변 값을 정의합니다. 이러한 유형의 값을 원시 값이라고 합니다.
7개의 기본 값이 있습니다:
- 무효
- 정의되지 않음
- 부울
- 번호
- 빅인트
- 문자열
- 기호
null을 제외한 모든 기본 유형은 typeof 연산자로 테스트할 수 있습니다. typeof null은 "객체"를 반환하므로 null을 테스트하려면 === null을 사용해야 합니다.
따라서 첫 번째 유형의 유틸리티 함수를 얻습니다.
function isBoolean(value) { return typeof value === 'boolean'; } function isString(value) { return typeof value === 'string'; } function isNumber(value) { return typeof value === 'number'; } function isSymbol(value) { return typeof value === 'symbol'; } function isBigInt(value) { return typeof value === 'bigint'; } function isUndefined(value) { return typeof value === 'undefined'; } function isNull(value) { return value === null; } // Usage example console.log(isSymbol(Symbol('test'))); // => true console.log(isNull(null)); // => true console.log(isUndefined(undefined)); // => true console.log(isNumber(1)); // => true console.log(isString('')); // => true console.log(isBoolean(true)); // => true console.log(isBigInt(9007199254740991n)); // => true
사물
기본 유형이 아닌 모든 것은 JavaScript의 객체입니다. 여기에는 다음이 포함됩니다.
- 일반 물체
- 배열
- 기능
- 날짜
- 정규식
- 기타 내장 개체 유형
여기에 배열, 함수, 객체에 대한 두 번째 유틸리티 함수가 있습니다.
function isArray(value) { return Array.isArray(value); } function isFunction(value) { return typeof value === 'function'; } function isObject(value) { // for null and undefined if (value == null) { return false; } return typeof value === 'object'; } function isPlainObject(value) { // for null and undefined if (value == null) { return false; } const prototype = Object.getPrototypeOf(value); return prototype === Object.prototype || prototype === null; } // Usage example console.log(isArray(new Array())); // => true console.log(isObject(Object(null))); // => true console.log(isFunction(Object.prototype.toString)); // => true console.log(isPlainObject(Object.create(null))); // => true
Object.prototype.toString.call()
JavaScript에서 유형을 확인하는 방법에는 다음을 포함하여 여러 가지가 있습니다.
- null을 제외한 모든 기본 유형에 대한 typeof
- instanceof는 객체가 특정 생성자나 클래스의 인스턴스인지 여부를 결정합니다. 기본 값에서는 작동하지 않습니다.
Object.prototype.toString.call()은 JavaScript에서 유형을 확인하는 가장 안정적인 방법입니다.
다음을 통해 유형을 추출할 수 있습니다.
function getType(value) { const type = typeof value; if (type !== 'object') { return type; } return Object.prototype.toString .call(value) .slice(8, -1) .toLowerCase(); } // Usage example console.log(getType(1)); // => number console.log(getType('')); // => string console.log(getType({})); // => object console.log(getType(null)); // => null console.log(getType(undefined)); // => undefined console.log(getType(Symbol())); // => symbol console.log(getType(BigInt(1234567890123456789012345))); // => bigint console.log(getType(function () {})); // => function console.log(getType(new Date())); // => date console.log(getType(new Map())); // => map console.log(getType(new Set())); // => set console.log(getType(new RegExp("cat", "i"))); // => regex
참조
- JavaScript 데이터 유형 및 데이터 구조 - MDN
- 데이터 유형 - JavaScript.info
- 참조 유형 - JavaScript.info
- 그레이트프론트엔드
위 내용은 유형 유틸리티 - JavaScript 과제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

이 기사는 Vercel에서 단일 페이지 응용 프로그램 (SPA)을 배포 할 때 페이지 리소스로드 오류를 일으키는 Deep URL 새로 고침 또는 직접 액세스 문제를 해결하는 것을 목표로합니다. 핵심은 Vercel의 라우팅 재 작성 메커니즘과 브라우저 구문 분석 상대 경로의 차이점을 이해하는 것입니다. vercel.json을 구성하여 모든 경로를 index.html로 리디렉션하고 HTML에서 정적 자원의 참조 메소드를 수정하고 상대 경로를 절대 경로로 변경하여 응용 프로그램이 모든 URL에 모든 리소스를 올바르게로드 할 수 있는지 확인하십시오.

이 튜토리얼은 Vercel에서 단일 페이지 응용 프로그램 (SPA)을 배포 할 때 다단계 URL (예 : /Project /Home)에 액세스 할 때 자산을로드하는 문제 (CSS, JS, 이미지 등) 문제를 해결하는 것을 목표로합니다. 핵심은 HTML의 Vercel의 라우팅 재 작성 메커니즘과 상대/절대 경로의 차이를 이해하는 데 있습니다. Vercel.json을 올바르게 구성함으로써 모든 비 File 요청이 index.html로 리디렉션되고 HTML에서 자산 참조를 절대 경로로 바로 잡아 모든 심도 URL에서 SPA의 안정적인 작동을 달성해야합니다.

qwikachievesinstantloadbydefaultroughrshoughrestroughrsoughrowsility : 1) theserverrendershtmlwithestateandpre-mappedeventlisteners; 2) norehydrationised, enablingimmediatectucture;

JavaScript에서 배열의 시작 부분에 요소를 추가하는 가장 일반적인 방법은 Unshift () 메소드를 사용하는 것입니다. 1. Unshift ()를 사용하여 원래 배열을 직접 수정하면 하나 이상의 요소를 추가하여 추가 된 배열의 새 길이를 반환 할 수 있습니다. 2. 원래 배열을 수정하지 않으려면 확장 연산자 (예 : [Newlement, ... ARR])를 사용하여 새 배열을 만드는 것이 좋습니다. 3. Concat () 메소드를 사용하여 새 요소 배열을 원래 번호와 결합하고 원래 배열을 변경하지 않고 새 배열을 반환 할 수 있습니다. 요약하면 원래 배열을 수정할 때 Unshift ()를 사용하고 원래 배열을 변경하지 않으면 확장 연산자를 권장하십시오.

usetheloading = "Lazy"AttributeFornativelazyLoadingInModernBrowserswithoutjavaScript.2. FormoreControlorolderBrowserSupport, exectionsectionObserverapibysettingdata-srcfortheaCteaCtualAgeUllaceLaceinsrc.3.Bobse

이 기사는 사용자 정의 JavaScript XSS 방어 기능, 특히 불완전한 캐릭터 탈출 및 키워드 기반 필터링에 대한 쉬운 우회의 심층 보안 취약점을 살펴 봅니다. 예제 함수를 분석함으로써 인용 및 백 크게와 같은 처리되지 않은 키워드 문자의 위험과 코드 난독 화 기술이 간단한 키워드 감지를 우회하는 방법을 보여줍니다. 이 기사는 상황에 민감한 탈출의 중요성을 강조하고보다 강력한 보안 보호를 구축하기 위해 성숙한 라이브러리 및 다층 방어 전략의 채택을 권장합니다.

이 기사는 JQuery 팝업 창에서 외부 링크 리디렉션 버튼을 리디렉션하는 문제를 해결하는 것을 목표로합니다. 사용자가 여러 외부 링크를 연속적으로 클릭하면 팝업의 점프 버튼이 항상 첫 번째 클릭 링크를 가리킬 수 있습니다. 핵심 솔루션은 OFF ( 'Click') 메소드를 사용하여 새 이벤트의 각 바인딩 전에 이전 이벤트 핸들러를 취소하여 점프 동작이 항상 최신 대상 URL을 가리키므로 정확하고 제어 가능한 링크 리디렉션을 달성하는 것입니다.

toaccessandmodifyhtmlelementsUsingJavaScript, firstEctTheElementUsingMethodSlikEdocument.getElementById, QueperSelector, ordocument.querySelectorAll, thenAlteritsContent, 속성, OrStyles, usexample.TextContentForextUpdates, e
