함수
함수는 프로그램을 구성하는 주요 구성 요소이다
함수를 이용하면 중복 없이 유사한 동작을 하는 코드를 여러 번 호출할 수 있습니다.
객체
자바스크립트의 기본 타입(data type)은 객체(object)
객체는 프로퍼티의 집합.
더 자세히 말하면 프로퍼티와 메서드로 이루어진 집합체다.
객체는 데이터를 가질 수도, 어떠한 행위를 할 수도 있다.
즉, 객체는 프로퍼티와 메서드로 구성된 집합체다.
1. 해쉬 자료구조 란?
해시의 구조란 키(Key)와 값 (Value) 쌍으로 이루어진 데이터 구조이다!
해시 구조에서 key를이용해서 Value를 빠르게 찾을수 있다는 장점이있다 !
2. 자바스크립트 객체로 주로 하는일이란?
자바스크립트 객체로 주로 하는일은 객체를 통해 하는 일은 생성, 검색, 삭제, 테스트, 프로퍼티 열거 등이 있습니다.
3. 자바스크립트 객체의 프로퍼티란
=> Property 는 속성 이란 뜻으로, JS에서는 객체 내부의 속성을 의미한다.
객체안에 프로퍼티(속성)이 속해있다는 이미지로 생각하면 좋을거같다
5. 함수와 메서드의 차이는 무엇일까요? 가장 핵심적인 차이는 무엇이고, 왜 굳이 이렇게 구분했을까요?
함수는 여러 문장들이 하나의 기능을 구현하도록 구성한 것이라고 할 수 있다 . 그 함수 중에서 클래스 내부에 정의한 함수를 메소드라고 부르는 것이다. 또한 메소드는 객체의 속성을 다루기 위한 행위를 정의한 것이라는 의미도 포함하고 있다.
둘의 가장 핵심적인 차이는 함수와 메서드의 가장 큰 차이점은 독립성이다.
함수는 그 자체로도 혼자 실행될 수 있지만, 메서드는 자신을 호출한 대상 객체에 관한 동작을 수행한다
함수와 메서드의 차이점 정리
함수(Function) | 메서드(Method) |
함수는 특정 작업을 수행하기 위해 설계된 기능입니다. | 메서드는 객체의 프로퍼티가 함수인 경우입니다. |
함수는 직접 호출할 수 있습니다. | 메서드는 점 표기법 또는 대괄호 표기법을 사용하여 호출할 수 있습니다. |
재사용 가능합니다. | 함수에 비해 재사용하기 어렵습니다. |
함수는 자체적으로 존재합니다. | 메서드는 객체와 연결되어 있습니다. |
참고 -> https://developer-talk.tistory.com/534
[JavaScript]함수와 메서드(Function and Method)
C#, Java와 같은 객체 지향 프로그래밍(OOP;Object-oriented programming) 언어를 사용하다가 JavaScript를 사용하면 함수(Function)와 메서드(Method)에 대해 혼동될 수 있습니다. JavaScript에서 함수와 메서드는 비
developer-talk.tistory.com
자바스크립트에서 일급객체란? 왜 그건 일급객체일까요?
일급객체(First-class Object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 프로그래밍 언어에서 type을 전달, 반환 및 할당 할 수 있는 경우 해당 type을 1급 객체로 간주됩는데 자바스크립트에서 함수를 반환할 수 있을 뿐만 아니라 함수를 받을 수 있는 함수를 만들 수 있으니 함수형 프로그래밍으로 자바스크립트가 인기가 있어지는 이유이기도 하다.
javascript에서 함수는 아래 3 가지조건을 충족하니 1급 객체라고 할수 있다
- 함수를 변수나 데이타에 할당 할 수 있다.
- 함수를 인자로 전달 할 수 있다.
- 함수를 리턴 할수 있다.
다른언어의 함수와 다른점은
C언어 특징 JS는 반환 자료형을 쓰지 않아도 되지만, C언어는 반환 자료형을 작성해주어야 한다.
Python 함수의 큰 특징은 return, argument type을 따로 지정하지 않고 자동으로 선택된다.
생성자 함수란
생성자 함수는 JavaScript에서 객체를 생성하기 위해 사용되는 특수한 함수입니다. 생성자 함수로 객체를 생성하기
JavaScript는 Date 생성자 이외에도 Array, Boolean, Error, Function, Number 등 다양한 내장 생성자를 제공합니다.
'JavaScript' 카테고리의 다른 글
Js 호이스팅 (0) | 2023.01.24 |
---|---|
JS For in & For of (0) | 2023.01.24 |
Js Stack, Queue (0) | 2023.01.23 |
데이터타입에 대하여 (0) | 2023.01.20 |
JavaScript란 무엇인가 (0) | 2023.01.18 |