분류 전체보기(334)
-
객체 다루기
this 키워드 해당 키워드가 사용된 자바스크립트 코드 영역을 포함하고 있는 객체 ex. 메소드 내부에서 사용된 this 키워드는 해당 메소드를 포함하고 있는 객체 객체 내부에서 사용된 this 키워드는 객체 그 자신 this - 변수가 아닌 키워드이므로, 사용자가 임의로 가리키는 값을 바꿀 수 없음 객체 생성자 함수 내부에서 사용된 this 키워드는 어떠한 값도 가지지 않으며, 단순히 새로운 객체로 대체됨 객체 프로퍼티의 삭제 문법 객체의 프로퍼티를 참조하는 방법 객체이름.프로퍼티이름 또는 객체이름["프로퍼티이름"] delete 키워드를 사용하여 객체의 프로퍼티를 삭제 delete 객체이름.프로퍼티이름; delete 키워드 프로퍼티의 값뿐만 아니라 프로퍼티 그 자체도 삭제 객체의 프로퍼티만을 삭제하기 ..
2023.01.03 -
프로토타입
상속(inheritance) 새로운 클래스에서 기존 클래스의 모든 프로퍼티와 메소드를 사용할 수 있는 것 새로운 프로그램의 요구에 맞게 기존 클래스를 수정하여 재사용할 수 있음 클래스 간의 종속 관계를 형성함으로써 객체의 관계를 조직화할 수 있음 따라서 이러한 상속은 추상화, 캡슐화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나 하지만 C#이나 C++과 같은 클래스 기반(class-based)의 객체 지향 언어와는 달리 자바스크립트는 프로토타입 기반(prototype-based)의 객체 지향 언어 프로토타입 기반이기 때문에 상속의 개념이 클래스 기반의 객체 지향 언어와는 약간 다름 상속 - 자바스크립트에서는 현재 존재하고 있는 객체를 프로토타입으로 사용하여, 해당 객체를 복제하여 재사용하..
2023.01.03 -
객체의 생성
객체의 생성 객체를 생성하는 방법 1. 리터럴 표기(literal notation)를 이용한 방법 2. 생성자 함수(constructor function)를 이용한 방법 3. Object.create() 메소드를 이용한 방법 인스턴스(instance) - 위와 같은 방법으로 생성되어 메모리에 대입된 객체 리터럴 표기를 이용한 객체의 생성 가장 쉬운 방법 문법 var 객체이름 = { 프로퍼티1이름 : 프로퍼티1의값, 프로퍼티2이름 : 프로퍼티2의값, ... }; 각각의 프로퍼티는 이름과 값을 콜론(:)으로 연결하고, 쉼표(,)를 사용해 다른 프로퍼티와 구분 프로퍼티의 이름으로는 자바스크립트의 식별자(identifier)나 문자열을 사용할 수 있음 예제 var kitty = { name: "나비", fami..
2023.01.03 -
객체의 개념
객체(object)란? 실생활에서 우리가 인식할 수 있는 사물 객체의 예 객체(object) - 고양이 프로퍼티(property) - cat.name = "나비" - cat.family = "코리안 숏 헤어" - cat.age = 0.1 - cat.weight = 300 메소드(method) - cat.mew() - cat.eat() - cat.sleep() - cat.play() 고양이 객체는 모두 위와 같은 프로퍼티를 가지지만, 각 프로퍼티의 값은 인스턴스마다 전부 다를 것 자바스크립트 객체 객체(object) 자바스크립트의 기본 타입(data type) 이름(name)과 값(value)으로 구성된 프로퍼티(property)의 정렬되지 않은 집합 메소드(method) - 프로퍼티의 값으로 함수가 올 ..
2023.01.03 -
미리 정의된 전역 함수
미리 정의된 전역 함수(predefined functions) 어떤 타입의 객체에서도 바로 사용할 수 있음 정의되어 있는 전역 함수 1. eval() 2. isFinite() 3. isNaN() 4. parseFloat() 5. parseInt() 6. decodeURI() 7. decodeURIComponent() 8. encodeURI() 9. encodeURIComponent() 10. escape() 11. unescape() 12. Number() 13. String() eval() 문자열로 표현된 자바스크립트 코드를 실행하는 함수 문법 eval("문자열"); 예제 var x = 10, y = 20; var a = eval("x + y"); // 30 var b = eval("y * 3"); /..
2023.01.03 -
매개변수와 인수
매개변수(parameter) 함수를 정의할 때 - 매개변수의 타입을 따로 명시하지 않음 함수를 호출할 때 - 인수(argument)로 전달된 값에 대해 어떠한 타입 검사도 하지 않음 함수를 호출할 때 - 함수의 정의보다 적은 수의 인수가 전달되더라도, 다른 언어와는 달리 오류를 발생시키지 않음 이 같은 경우 자바스크립트는 전달되지 않은 나머지 매개변수에 자동으로 undefined 값을 설정 매개변수(parameter) - 함수의 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수 인수(argument) - 함수가 호출될 때 함수로 값을 전달해주는 값 예제 3개의 매개변수를 가지는 함수에 각각 다른 수의 인수를 전달 function addNum(x, y, z) { // x, y, z라는 3개..
2023.01.02