본문 바로가기
[JavaScript_DeepDive] 12. 함수(1) 함수는 자바스크립트에서 가장 중요한 핵심 개념이다. 프로그래밍 언어의 함수는 일련의 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행단위로 정의한 것이다. 프로그래밍 언어의 함수도 입력을 받아서 출력을 내보낸다. 이때 함수 내부로 입력을 전달받는 변수를 매개변수(parameter), 입력을 인수(argument), 출력을 반환값(return value)이라 한다. 또한 함수는 값이며 여러개 존재할 수 있으므로 특정 함수를 구별하기 위해 식별자인 함수 이름을 사용할 수 있다. #함수를 사용하는 이유 -함수는 필요할 때 몇번이든 호출할 수 있으므로 코드의 재사용이라는 측면에서 매우 유용하다. -코드의 중복을 억제하고 재사용성을 높이는 함수는 유지보수의 편의성을 높이고 실수를 줄여 .. 2022. 3. 14.
[JavaScript_DeepDive] 11. 원시 값과 객체의 비교 자바스크립트가 제공하는 7가지 데이터 타입(숫자, 문자열, 불리언, null, undefined, 심벌, 객체 타입)은 크게 원시타입(primitive type)과 객체 타입(object/reference type)으로 구분할 수 있고 크게 세가지 측면에서 다르다. 1. 원시 타입 값(원시 값)은 변경 불가능한 값(immutable value)이다. 그러나 객체(참조)타입의 값(객체)는 변경가능한 값(mutable value)이다. 2. 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다. 이에 비해 객체를 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장된다. 3. 값에 의한 전달(pass by value)은 원시 값을 갖는 변수는 다른 변수에 할당하면 원본의 원시.. 2022. 3. 13.
[JavaScript_DeepDive] 10. 객체 리터럴 자바스크립트는 객체(object)기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 "모든 것"이 객체다. 원시값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 원시 타입은 단 하나의 값만 나타내지만 객체타입(object/reference type)은 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조(data structure)다. 또한 원시 타입의 값, 즉 원시 값은 변경 불가능한 값(immutable value)이짐나 객체 타입의 값, 즉 객체는 변경 가능한 값(mutable value)이다. -객체는 0개 이상의 프로퍼티로 구성된 집합이며. 프로퍼티는 키(key)와 값(value)로 구성된다. -자바스크립트에서 사용할 수 있는 모든 값은.. 2022. 3. 13.
[JavaScript_DeepDive] 9. 타입 변환과 단축 평가 //심벌타입 (Symbol()) + '' //TypeError : Cannot convert a Symbol value to a string //객체타입 ({}) + ''//"[object Object]" Math + ''//"[object Math]" [] + ''//"" [10, 20] + ''//"10, 20" (function(){}) + ''//"function(){}" Array + ''//"function Array() { [native code] }" #타입변환이란? -자바스크립트의 모든 값은 타입이 있다. 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있다. -개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환(explicit coercion)또는 타입 캐스팅(t.. 2022. 3. 12.