전체 글 218

객체 생성자 함수, 인스턴스

객체생성자함수, 인스턴스 자바스크립트에서 객체 생성자 함수는 새로운 객체를 생성하기 위한 템플릿 역할을 합니다. 이 함수는 new 키워드와 함께 호출되며, 호출될 때마다 새로운 객체 인스턴스를 생성합니다. 객체 생성자 함수는 일반적으로 대문자로 시작하는 이름으로 정의하는 관례가 있습니다.객체 생성자 함수 만드는 방법함수 정의: 생성자 함수를 정의할 때는 일반 함수처럼 정의합니다.this 키워드: this 키워드를 사용하여 새로 생성될 객체의 속성을 설정합니다.new 키워드 사용: 생성자 함수를 호출할 때는 new 키워드를 사용해야 합니다.예제 // 객체 생성자 함수 정의function Person(name, age) { this.name = name; // 객체의 name 속성 this.age..

카테고리 없음 2024.10.24

프로토타입 체인과 심볼

자바스크립트의 프로토타입 체인에서는 객체가 상속받은 속성과 메서드를 사용할 수 있습니다. 심볼은 객체의 고유한 속성 키로 사용되지만, 프로토타입 체인에서 심볼 속성을 다루는 방법에 대해 설명하겠습니다.프로토타입 체인과 심볼프로토타입 체인: 자바스크립트에서 객체는 다른 객체의 속성과 메서드를 상속받을 수 있습니다. 이러한 관계는 프로토타입 체인으로 표현됩니다.심볼 속성의 상속: 객체의 심볼 속성은 그 객체의 프로토타입에서 상속되지 않습니다. 즉, 자식 객체가 부모 객체의 심볼 속성을 자동으로 사용할 수는 없습니다. // 부모 객체const parent = { [Symbol('parentSymbol')]: 'I am from parent'};// 자식 객체const child = Object.creat..

카테고리 없음 2024.10.24

자바스크립트 데이터 타입 (primitive type, reference type)

자바스크립트는 여러 가지 데이터 타입을 가지고 있습니다. 크게 원시 타입(primitive types)과 참조 타입(reference types)으로 나눌 수 있습니다.1. 원시 타입자바스크립트에서 **원시 데이터 타입(Primitive Data Type)**은 더 이상 분해할 수 없는 데이터의 기본적인 유형입니다.원시 데이터 타입은 간단하고 불변(immutable)하며, 각 값이 고유한 메모리 공간을 차지합니다. 자바스크립트에는 다음과 같은 원시 데이터 타입이 있습니다:Number: 정수 및 부동 소수점 숫자를 포함합니다. 예: 42, 3.14String: 문자열을 나타냅니다. 예: "Hello, world!"Boolean: 참(true) 또는 거짓(false)을 나타냅니다. 예: true, false..

카테고리 없음 2024.10.24

Symbol

자바스크립트에서 **심볼(Symbol)**은 고유하고 변경 불가능한 원시 데이터 타입입니다. 심볼은 주로 객체의 속성 키를 만들 때 사용되며, 같은 이름을 가진 심볼이 여러 개 존재하더라도 서로 다른 것으로 취급됩니다. 이를 통해 이름 충돌을 방지하고 객체의 속성을 은닉하는 데 유용합니다.심볼 생성심볼은 Symbol() 함수를 사용하여 생성합니다 // 심볼 생성const id = Symbol('id');const name = Symbol('name');// 객체에 심볼을 속성 키로 사용const user = { [id]: 1, [name]: "Alice"};// 속성 접근console.log(user[id]); // 1console.log(user[name]); // Alice// 심볼 키로 ..

카테고리 없음 2024.10.24

객체란?

자바스크립트에서 객체는 키-값 쌍의 집합으로, 복잡한 데이터를 구조화하는 데 사용됩니다. 객체는 다양한 형태의 데이터(숫자, 문자열, 배열, 다른 객체 등)를 포함할 수 있습니다. 객체는 중괄호 {}로 정의하며, 각 키는 문자열 또는 심볼이며, 값은 다양한 데이터 타입이 될 수 있습니다. 객체 생성 예제 // 객체 생성const person = { name: "Alice", age: 30, isStudent: false, hobbies: ["reading", "travelling"], greet: function() { console.log(`Hello, my name is ${this.name}`); }};// 객체 속성 접근console.log(person..

JAVASCRIPT 2024.10.24

javascript class

자바스크립트에서 클래스를 만드는 방법은 다음과 같습니다. 기본적인 구조와 요소를 설명할게요.1. 클래스 정의클래스를 정의할 때 class 키워드를 사용합니다. class ClassName { // 생성자 constructor(parameters) { // 초기화 코드 } // 메서드 methodName() { // 메서드 코드 }}  2. 생성자생성자는 클래스의 인스턴스가 생성될 때 호출되는 특수한 메서드입니다. 객체의 초기 상태를 설정하는 데 사용됩니다.3. 메서드클래스 내에 정의된 함수입니다. 객체가 수행할 수 있는 동작을 정의합니다.예제아래는 학생 객체를 표현하는 Student 클래스를 만드는 예제입니다. class Student { c..

JAVASCRIPT 2024.10.23

javascript scope

JavaScript에서 스코프(scope)는 변수의 접근 가능 범위를 결정하는 개념입니다. 주로 전역 스코프와 지역 스코프가 있습니다. 전역 스코프는 전체 코드에서 접근 가능하고, 지역 스코프는 함수 내에서만 유효합니다.예를 들어: let globalVar = "I'm a global variable";function myFunction() { let localVar = "I'm a local variable"; console.log(globalVar); // 접근 가능 console.log(localVar); // 접근 가능}myFunction();console.log(globalVar); // 접근 가능// console.log(localVar); // 오류: local..

JAVASCRIPT 2024.10.23

javascript method

JavaScript에서 메서드(method)는 객체 내에 정의된 함수입니다. 메서드는 특정 객체와 관련되어 있으며, 해당 객체의 속성이나 다른 메서드에 접근할 수 있습니다. 메서드는 일반 함수와 비슷하게 정의되지만, 객체의 일부로 존재하기 때문에 그 객체의 상태를 변경하거나 그 객체의 데이터를 조작하는 데 주로 사용됩니다. 예시: const car = { brand: "Hyundai", getBrand: function() { return this.brand; // this는 car 객체를 가리킴 }};console.log(car.getBrand()); // "Hyundai" 출력 주요 특징:속성과 결합: 메서드는 객체의 속성과 함께 사용되어 객체의 동작을 정의합니다this 키워드 사용: 메서..

카테고리 없음 2024.10.18

javascript strict mode 와 sloppy mode 차이점

1. Strict ModeES5(ECMAScript 5)부터 도입된 모드로 명시적으로 "use strict";를 선언해 활성화합니다.코딩 실수를 잡아내고 안전한 코드를 작성하는 데 도움을 줍니다.예) 암묵적 전역 변수 생성 금지, this가 명확하지 않을 때 undefined 반환 등. 예제:"use strict";x = 10; // ReferenceError: x is not defined 위 코드에서는 x가 선언되지 않은 채 사용되기 때문에 에러가 발생합니다. 2. Sloppy Mode (기본 모드)모든 JavaScript 파일에서 기본적으로 적용됩니다.느슨한 검사로 인해 암묵적 오류를 무시하며 코드가 실행됩니다.예제:x = 10; // 암묵적으로 전역 변수를 생성해 에러 없이 실행됨console..

JAVASCRIPT 2024.10.18