- 요소 : 배열 내부에 있는 값
- 속성 : 객체 내부에 있는 값
- 메소드 : 속성 중에 함수 자료형인 것
- this : 객체 내부의 메소드에서 객체 자신을 나타내는 키워
- 기본 자료형 : 실체가 있는 것 중에서 객체가 아닌 것 (숫자, 문자열, 불 등)
- 객체 자료형 : 객체를 기반으로 하는 자료형, new 키워드를 활용해서 생성
- protoype 객체 : 객체의 틀, 이곳에 속성과 메소드를 추가하면 해당 객체 전체에서 사용가
- 객체에 없는 속성에 접근하면 undefined 가 나온다.
- 다중 할당 : 배열과 객체 하나로 여러 변수에 값을 할당하는 것
- 얕은 복사(참조 복사) : 복사하는 행위가 단순하게 이름을 붙이는 형태로 동작하는 복사
- 깊은 복사 : 복사 후 두 객체를 완전하게 독립적으로 사용할 수 있는 복사
- 구문 오류(Syntax Error) : 프로그램 실행 전에 발생하는 코드의 문법적인 문제로 발생하는 오류
- 예외(Exception) : 프로그램 실행 중에 발생하는 모든 오류
- 예외 처리 : 예외가 발생했을 때 프로그램이 중단되지 않게 처리, 구문 오류는 불가능
- try catch finally 구문 : try 구문 안에서 예외가 발생한다면 catch 구문에서 처리하고, finally 구문은 예외 발생 여부와 상관없이 실행하는 작업을 처리
<script>
try {
// 예외가 발생할 가능성이 있는 코드
} catch (e) {
// 예외가 발생했을 때 실핼할 코드
} finally {
// 무조건 실핼항 코드
}
</script>
- 예외 객체 : 예외와 관련된 정보를 담은 객체
- throw 구문 : 예외를 강제로 발생시킬 때 사용하는 구문
- 추상화 : 프로그램에서 필요한 요소만을 사용해서 객체를 표현하는 것
- 클래스 : 객체를 안전하고 효율적으로 만들 수 있게 해주는 문법
- 인스턴스 : 클래스를 기반으로 생성한 객체
new 클래스 이름()
- 생성자 : 객체가 생성될 때 호출되는 함수, 클래스를 기반으로 인스턴스를 생성할 때 처음으로 호출되는 메소드, 속성을 추가하는 등 객체의 초기화 처리를 담당
class 클래스 이름 {
constructor () {
/*생성자 코드*/
}
}
- 상속 : 어떤 클래스가 갖고 있는 유산(속성, 메소드)을 기반으로 새로운 클래스를 만드는 것
class 클래스 이름 extends 부모클래스 이름 {
}
- 게터(getter) : get○○() 형태로 값을 확인하는 기능을 가진 메소드
- 세터(setter) : set○○() 형태로 값을 지정하는 기능을 가진 메소드
lass 클래스 이름 {
get 이름 () { return 값 }
set 이름 (value) { }
}
- static : 인스턴스를 만들지 않고 사용할 수 있는 속성과 메소드, 일반적인 변수와 함수처럼 사용 가능
class 클래스 이름 {
static 속성 = 값
static 메소드() {
}
}
- 오버라이딩 : 부모가 갖고 있는 메소드와 같은 이름으로 메소드를 선언해서 덮어 쓰는 것 (재정의)