본문 바로가기
반응형

모던자바스크립트Deepdive25

함수 (모던 자바스크립트 Deep Dive) 12.1 함수란? 입력을 받아 출력을 내보내는 일련의 과정 // 함수 정의 function add(x, y) { // x, y :매개변수 return x + y; // 반환값 }; // 함수 호출 add(2, 5); // 2, 5: 인수 12.2 함수를 사용하는 이유 코드 재사용 가능 ! 내부 코드를 보지 않고도 식별자를 보고 함수의 역할을 파악할 수 있게 해야한다. 12.3 함수 리터럴 함수는 객체다. 그러나 일반 객체는 호출할 수 없지만 함수는 호출이 가능하다. 함수 이름은 생략할 수 있다. 기명 함수와 익명 함수가 존재 익명 함수 : 이름이 없는 것이 아닌 함수 이름 대신 변수에 함수를 대입한 방식이다. let anonymousFunc = function() { console.log('this fu.. 2024. 4. 16.
원시 값과 객체의 비교 (모던 자바스크립트 Deep Dive) 11.1 원시 값 11.1.1 변경 불가능한 값 변경 불가능한 값 원시 값 자체를 변경하지 못한다는 말 원시 값을 변경 불가능하다는 말은 메모리 관점에서 접근해야 이해가 쉽다. 원시 값은 변경 불가능하기 때문에 변수에 값 재할당 시 기존 메모리 공간이 아닌 새로운 메모리 공간을 확보하여 저장하는 것이다. 변수의 값을 변경 불가능한 것은 상수이다. → 재할당 금지! 11.1.2 문자열과 불변성 문자열 타입 - 2바이트 문자 하나당 2바이트, 문자의 개수에 따라 확보하는 메모리 공간이 달라짐 숫자 타입 - 8바이트 숫자의 크기에 따라 관계없이 8바이트 사용 이외 원시 타입은 브라우저 제조사의 구현에 따라 크기가 다를 수 있다. 자바스크립트는 문자열의 형태로 데이터를 저장한다. 문자열 타입의 변수에 다른 문자.. 2024. 4. 16.
객체 리터럴 (모던 자바스크립트 Deep Dive) 10.1 객체란? 자바스크립트는 객체 기반의 프로그래밍 언어 원시 값을 제외하고는 모두 객체이다. 객체 프로퍼티의 집합 ❓ 일반 함수? 메서드? 함수는 메서드를 포함한다. 함수가 객체의 프로퍼티로 저장되면 그것은 메서드이다. → 메서드는 객체가 없으면 없는 것 함수는 객체와 관계없이 독립적이다. 메서드는 객체에 종속적이다. 메서드를 수행하려면 반드시 객체를 통해서 수행하여야 한다. 메서드 동작의 주체는 해당 객체. 자바스크립트에서의 객체? 자바스크립트 내장 객체 : Built-in Object Global, Object, String, Number, Boolean, Data, Array, Math, RegExp, Error 등 브라우저 내장 객체 : Native Object 자바스크립트 엔진이 빌드될 때.. 2024. 4. 16.
타입 변환과 단축 평가 (모던 자바스크립트 Deep Dive) 9.1 타입 변환이란? 명시적 타입 변환 / 타입 캐스팅 의도적으로 값의 타입을 변환하는 것 암묵적 타입 변환 / 타입 강제 변환 의도와 상관없이 자바스크립트 엔진에 의해 타입이 변환되는 것 원시 값은 변경 불가능하기 때문에 타입을 변환한다는 것은 기존 원시 값을 이용해 다른 타입의 새로운 원시 값을 생성한 다는 것 → 재할당 아님! 9.2 암묵적 타입 변환 자바스크립트는 암묵적 타입 변환을 통해 에러를 내야하는 상황에서 에러를 내지 않게 처리한다. ??? 9.2.1 문자열 타입으로 변환 값 뒤에 + ‘’ 을 붙이면 문자열로 변환된다… Symbol 타입은 제외 템플릿 리터럴을 사용해 문자열로 변환이 가능하다. 9.2.2 숫자 타입으로 변환 값 앞에 + 을 붙이면 숫자 타입으로 변환된다… 숫자 타입으로 변.. 2024. 4. 15.
728x90
반응형