본문 바로가기
반응형

Frontend34

타입 변환과 단축 평가 (모던 자바스크립트 Deep Dive) 9.1 타입 변환이란? 명시적 타입 변환 / 타입 캐스팅 의도적으로 값의 타입을 변환하는 것 암묵적 타입 변환 / 타입 강제 변환 의도와 상관없이 자바스크립트 엔진에 의해 타입이 변환되는 것 원시 값은 변경 불가능하기 때문에 타입을 변환한다는 것은 기존 원시 값을 이용해 다른 타입의 새로운 원시 값을 생성한 다는 것 → 재할당 아님! 9.2 암묵적 타입 변환 자바스크립트는 암묵적 타입 변환을 통해 에러를 내야하는 상황에서 에러를 내지 않게 처리한다. ??? 9.2.1 문자열 타입으로 변환 값 뒤에 + ‘’ 을 붙이면 문자열로 변환된다… Symbol 타입은 제외 템플릿 리터럴을 사용해 문자열로 변환이 가능하다. 9.2.2 숫자 타입으로 변환 값 앞에 + 을 붙이면 숫자 타입으로 변환된다… 숫자 타입으로 변.. 2024. 4. 15.
연산자 (모던 자바스크립트 Deep Dive) 7.8 typeof 연산자 피연산자의 데이터 타입을 문자열로 반환한다. null은 반환하지 않는다. typeof null → object 반환 굉장한 버그이며 아직 수정되지 않았다 null임을 확인하려면 typeof 대신 ===을 사용하자 선언하지 않은 식별자를 typeof 연산을 하면 참조에러 대신 undefined를 반환한다 7.10 그 외의 연산자 다른 챕터에서 더 자세하게 다룰 예정인 연산자들 📎 연산자 정의 ?. 옵셔널 체이닝 연산자 ?? null 병합 연산자 delete 프로퍼티 삭제 new 생성자 함수를 호출할 때 사용하여 인스턴스를 생성 instanceof 좌변의 객체가 우변의 생성자 함수와 연결된 인스턴스인지 판별 in 프로퍼티 존재 확인 2024. 4. 15.
데이터 타입 (모던 자바스크립트 Deep Dive) 자바스크립트(ES6)의 타입 원시 타입 6개 number : 숫자 (정수 + 실수) string boolean : true, false undefined null : 값이 없음 symbol 객체 타입 1개 object : 객체, 함수, 배열 등 자바스크립트(ES11) BigInt : 2의 53승 -1 보다 큰 정수를 표현할 때 사용 타입에 따라 확보할 메모리 공간과 메모리에 저장되는 2진수도 다르며 해석하는 방식도 다르기 때문에 명확한 의도를 가지고 타입을 가진 값을 사용해야 한다. 6.1 숫자 타입 C 또는 Java의 경우, 정수와 실수를 구분한 여러 숫자 타입이 존재한다. int, long, float, double … ECMAScirpt 사양 상, 자바스크립트는 모든 수를 실수 처리하며 정수만 표현.. 2024. 4. 15.
변수 (모던 자바스크립트 Deep Dive) 4.1 변수란 무엇인가? 왜 필요한가? 컴퓨터의 연산은 CPU 에서, 기억은 메모리에서 수행한다. 예시 : 컴퓨터가 연산하는 과정 아래의 식을 자바스크립트로 작성한 식을 자바스크립트 엔진이 계산한다면? 10, +, 20 에 대한 의미를 알고 있어야 한다. → 메모리 의미를 알고 적절히 해석할 줄 알아야 한다. → CPU 10 + 20 컴퓨터가 연산을 완료하면 결과 값(30)을 메모리에 저장할 것이다. 하지만 해당 결과 값을 재사용하는 것은 불가능하다. 메모리 주소에 직접 접근하는 행위는 치명적인 오류를 발생시킬 수 있기 때문에 자바스크립트로는 메모리 제어를 애초에 허용하지 않는다. 메모리 제어를 허용한다 하더라도 그때그때의 상황마다 저장될 메모리 주소는 변경될 것이기 때문에 이전에 값이 저장된 메모리 주.. 2024. 4. 15.
728x90
반응형