본문 바로가기

Language/JavaScript23

[JavaScript] 객체 - Math 객체 Math 객체 - 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 표준 내장 객체 - 다른 전역 객체와 달리 생성자 존재 X => 인스턴스 생성 없이 바로 사용 가능 Math 메소드 - 웹 브라우저 / 운영체제 마다 다른 결괏값이 될 수도 있으므로 정확한 결괏값이 필요할 땐 사용하지 X 1. Math.min() 2. Math.max() 3. Math.random() 4. Math.round() 5. Math.floor() 6. Math.ceil() 7. Math.sin() 1. Math.min() - 인수로 전달받은 값 중에서 가장 작은 수 반환 - 인수가 없으면 Infinity 반환 - 인수 중에 비교할 수 없는 값이 포함되어 있으면 NaN 반환 Math.min(); // Infinity Ma.. 2021. 10. 29.
[JavaScript] 객체 - Number 객체와 메소드 자바스크립트에서의 수 표현 - 모든 수는 정수와 실수 구분 없이 실수 하나로 표현 - IEEE 754 국제 표준에서 정의한 64비트 부동 소수점 수로 저장 - 부동 소수점 수로 수행하는 산술 연산은 언제나 오차 발생 가능성이 존재 => 정수로 변환하여 수행 후, 실수로 재변환 진법 표현 - 0x 접두사 이용 시, 16진법 수 표현 가능 - 산술 연산 시, 모든 수가 10진수로 자동 변환되어 계산 - 숫자.toString() 메소드로 여러 진법의 형태로 변환 가능 => 변환된 형태의 문자열을 반환하는 것 const num = 256; num.toString(2); // 2진법으로 변환 : 100000000 num.toString(8); // 8진법으로 변환 : 400 num.toString(10); // .. 2021. 10. 29.
[JavaScript] 표준 객체 - 전역 객체와 래퍼 객체 전역 객체(global object) - 미리 정의된 객체로 전역 프로퍼티나 전역 함수를 담는 공간의 역할 - 전역 범위에서 this 연산자를 통해 접근 가능 - 모든 객체는 전역 객체의 프로퍼티가 됨 - 웹 브라우저가 새 페이지를 로드하면, JS 는 새로운 전역 개체를 만들고 해당 프로퍼티들 초기화 래퍼 객체(wrapper object) - 숫자, 문자열, Boolean 등 원시 타입의 프로퍼티에 접근하려고 할 때 생성되는 임시 객체 - 임시 객체는 원시 타입 객체의 메소드를 상속받아 프로퍼티를 참조하는데 사용되고 끝나면 자동으로 삭제 const str = "문자열"; // 문자열 리터럴 생성 const strObj = new String(str); // 문자열 객체 생성 str.length; // 리.. 2021. 10. 29.
[JavaScript] 객체 - 객체 프로퍼티와 메소드 객체 프로퍼티(property) - 모든 객체는 Object 객체와 Object.prototype 객체의 모든 프로퍼티를 상속받음 - prototype 프로퍼티로 새로운 프로퍼티나 메소드 추가 가능 객체 메소드(method) 1. hasOwnProperty() 2. propertyIsEnumerable() 3. isPrototypeOf() 4. isExtensible() 5. toString() 6. valueOf() 1. hasOwnProperty() - 특정 프로퍼티가 해당 객체에 존재하는지 검사 - 해당 객체에서 직접 선언된 프로퍼티만 검사 - 같은 이름의 프로퍼티라도 상속받은 프로퍼티는 false function Dog(color, name, age, family) { this.color = co.. 2021. 10. 29.
[JavaScript] 객체 다루기 this 키워드 - 해당 키워드가 사용된 코드 영역을 포함하고 있는 객체를 가리킴 - 메소드 내부) 해당 메소드를 포함하고 있는 객체를 가리킴 - 객체 내부) 객체 그 자신을 가리킴 - 객체 생성자 함수 내부) 어떠한 값도 갖지 X, 단순히 새로운 객체로 대체 - 키워드이므로 사용자가 임의로 가리키는 값을 바꿀 수 없음 객체 프로퍼티의 삭제 - delete 키워드 이용 delete 객체이름.프로퍼티이름; - 프로퍼티의 값 + 프로퍼티 그 자체 삭제 - 함수 / 변수에 사용하면 아무런 동작 X function Dog(color, name, age) { this.color = color; this.name = name; this.age = age; } const myDog = new Dog("흰색", "마루.. 2021. 10. 29.
[JavaScript] 객체 - 프로토타입 상속(inheritance) - 새로운 클래스에서 기존 클래스의 모든 프로퍼티와 메소드를 사용할 수 있는 것 - 기존 클래스를 수정하여 재사용 가능 - 클래스 간의 종속 관계 형성으로 객체의 관계를 조직화 할 수 있음 - 추상화, 캡슐화와 더불어 객체 지향 프로그래밍의 중요한 특징 중 하나 - JS 는 프로토타입 기반의 객체 지향 언어 => 현재 존재하고 있는 객체를 프로토타입으로 사용하여 해당 객체를 복제하여 재사용 프로토타입(prototype) - 모든 객체는 프로토타입이라는 객체를 가짐 - 모든 객체는 그들의 프로토타입으로부터 프로퍼티와 메소드를 상속받음 - 이 때, 상속되는 정보를 제공하는 객체 = 프로토타입 프로토타입 체인(prototype chain) - 객체 이니셜라이저를 사용해 생성된 같은.. 2021. 10. 29.