개발 언어/Javascript (20) 썸네일형 리스트형 자바스크립트에서 타입 강제변환이란 값 변환 어떤 값을 다른 타입의 값으로 바꾸는 과정이 명시적이면 타입 캐스팅이라 부르고 암시적이면 강제변환이라고 합니다. 자바스크립트 (이하 JS)에서는 대부분 모든 유형의 타입변환을 강제변환으로 일컫는 경향이 있으므로 '암시적 강제변환'과 '명시적 강제변환' 두 가지로 구별하려고 합니다. 명시적 강제변환은 코드만 봐도 의도적으로 타입변환을 일으킨다는 것이 명백합니다. 암시적 강제변환은 다른 작업 도중 불분명한 side effect로부터 발생하는 타입변환입니다. let a = 24; let b = a + ''; // 암시적 강제변환 let c = String(a); // 명시적 강제변환 추상 연산 ToString 문자열이 아닌 값을 문자열로 변환 작업은 ToString 추상 연산 로직이 담당합니다. 숫자.. 자바스크립트에서 네이티브란 네이티브 String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol() 네이티브는 내장 함수입니다. 생성자처럼 사용할 수 있지만 생성되는 결과물은 예상과는 조금 다를 수 있습니다. const a = "abc"; const b = new String("abc"); typeof a; // string typeof b; // object b instanceof String; // true new String("abc") 생성자의 결과는 원시 값 "abc"를 감싼 객체 래퍼(Wrapper)입니다. 어떠한 객체가 어떤 네이티브에 속하는지는 Object.prototype.toString()이라는 메서드에 값을 넣어 호출.. 자바스크립트에서 값이란 배열 자바스크립트 (이하 JS) 배열은 타입이 엄격한 다른 언어와 달리 어떤 타입의 값도 담을 수 있는 상자입니다. let arr = [1, '2', [3]]; // no error 여기서 주의할 점은 슬롯을 건너뛸 수 있다는 점입니다. let arr = []; arr[0] = 0; arr[2] = 2; arr[1]; // undefined arr.length; // 3 1번째 인덱스에 값을 넣지 않고 2번째 인덱스에 값을 넣는 경우에는 a[1]은 undefined면서 arr 배열의 길이는 3이 됩니다. 여기서 arr의 인덱스가 건너뛰더라도 값을 삽입한 마지막 인덱스에 따라 배열의 길이가 설정된다는 점을 알 수 있습니다. 배열 자체는 하나의 객체이기 때문에 배열 인덱스는 숫자이지만 key - value .. 자바스크립트에서 타입이란 타입이란 자바스크립트 (이하 JS) 에서 타입이란 JS 엔진, 개발자 모두에게 어떤 값을 다른 값과 분별할 수 있는, 고유한 내부 특성의 집합으로 정의할 수 있습니다. 예를 들면, 24와 "24" 라는 값은 다르게 취급됩니다. 24는 수학 연산 같이 계산을 하려는 의도가 있지만 "24"는 특정 페이지에 출력할 문자열과 같은 의도로 만든 값입니다. 이렇듯 다른 값과 분류되는 특성을 지닌 것이 타입의 필수조건이 됩니다. 내장 타입 자바스크립트에는 7가지의 내장 타입이 존재합니다. null undefined boolean number string object symbol object를 제외한 나머지 6가지 타입을 primitive (원시) 타입이라고 합니다. 값 타입은 typeof 연산자로 확인할 수 있습니다.. 이전 1 2 3 다음