-
[클린코드 자바스크립트] 타입검사개발/javascript 2022. 3. 7. 20:37
* 클린코드 자바스크립트 강의를 정리하고자 작성한 게시글입니다.
타입검사
- 반환되는 값은 문자열이다.
- 원시형 데이터는 typeof로 수월한 검사가 가능하지만 참조형의 경우 정확한 검사가 이루어지기는 어렵다.
- typeof, instanceof, Object.prototype.toString.call(검사하고자 하는 값) 으로 타입을 검사할 수 있다.
- instanceof: 생성자의 prototype 속성이 객체의 프로토타입 체인 어딘가 존재하는지 판별한다.
function testFunction() {} class TestClass {} const str = new String('문자열'); typeof '문자열' // 'string' typeof true // 'boolean' typeof undefined // 'undefined' typeof 12 // 'number' typeof Symbol() // 'symbol' typeof testFunction // 'function' typeof TestClass // 'function' typeof str // 'object' typeof null // 'object'
function Person(name, age) { this.name = name; this.age = age; } const p = { name: 'kim', age: 11 } const kim = new Person('kim', 11); kim instanceof Person // true p instanceof Person // false
const arr = []; const func = function() {} const date = new Date(); arr instanceof Array // true func instanceof Function // true date instanceof Date // true # 레퍼런스 객체의 최상위는 object 이기 때문에 true arr instanceof Object // true func instanceof Object // true date instanceof Object // true
Object.prototype.toString.call('') // '[object String]' Object.prototype.toString.call(arr) // '[object Array]' Object.prototype.toString.call(func) // '[object Function]'
반응형'개발 > javascript' 카테고리의 다른 글
[클린코드 자바스크립트] eqeq 줄이기, 형변환 주의, isNaN (0) 2022.03.14 [클린코드 자바스크립트] 타입 다루기 (undefined, null, eqeq, 형변환 주의, isNaN (0) 2022.03.13 [클린코드 자바스크립트] 호이스팅 주의 (0) 2022.03.05 [클린코드 자바스크립트] 임시변수 제거 (0) 2022.03.04 [클린코드 자바스크립트] 전역공간 사용 최소화 (0) 2022.03.03