[JS]Object 객체
·
Language/JavaScript
Object 객체Object 객체는 모든 객체의 기본이 되는 프로토타입이다. 모든 객체는 Object 객체로부터 상속받은 프로퍼티와 메서드를 가지고 있다. Object 객체의 대표적인 프로퍼티와 메서드는 다음과 같다.prototype모든 객체는 prototype 프로퍼티를 가지고 있으며, 이는 해당 객체의 프로토타입을 참조한다. 이를 통해 상속을 구현할 수 있다.constructor객체가 생성된 생성자를 참조한다.예: let obj = new Object();에서 obj.constructor는 Object를 가리킨다.Object.keys(obj)주어진 객체의 열거 가능한 속성 이름을 배열로 반환한다.예: Object.keys({ a: 1, b: 2 })는 ['a', 'b']를 반환합니다.Object.va..
[JS]this
·
Language/JavaScript
자바스크립트의 thisthis는 자바스크립트에서 함수가 호출되는 방식에 따라 다르게 해석되는 키워드이다. this는 주로 객체의 메서드에서 사용되며, 해당 메서드가 호출될 때의 컨텍스트를 참조한다.1. 전역 컨텍스트전역에서 this를 사용하면, 브라우저 환경에서는 전역 객체인 window를 가리킨다.console.log(this); //window(브라우저 환경)2. 함수 호출2-1. 일반 함수 호출일반 함수로 호출할 경우, this는 전역 객체를 가리킨다.function showThis() {    console.log(this);}showThis(); //window(브라우저 환경) 2-2. 메서드 호출객체의 메서드로 호출할 경우, this는 해당 메서드를 호출한 객체를 가리킨다.const obj =..
[JS]apply, call 메서드
·
Language/JavaScript
applyapply는 함수의 메서드이다. JavaScript에서 함수는 객체로 취급되며, 이는 함수가 프로퍼티와 메서드를 가질 수 있다는 것을 의미한다. 따라서 함수는 다른 객체와 마찬가지로 this 컨텍스트를 설정할 수 있으며, apply 메서드를 사용하여 특정 객체를 this로 설정하고, 배열 형태의 인자를 전달하여 호출할 수 있다.apply 사용법functionName.apply(thisArg, [argsArray]);thisArg: 함수가 호출될 때 사용할 this 값이다. 이 값은 함수 내부에서 this로 참조된다.argsArray: 함수에 전달할 인자들을 포함하는 배열이다. 이 배열의 요소들이 함수의 매개변수로 전달된다.apply 예제function introduce(greeting, punc..
[JS]arguments 객체
·
Language/JavaScript
arguments 객체arguments 객체는 함수 내부에서 사용할 수 있는 특별한 객체로, 함수에 전달된 모든 인자를 배열 형태로 접근할 수 있게 해준다. 이 객체는 함수가 호출될 때 자동으로 생성되며, 함수의 매개변수와는 별개로 존재한다. 즉, 함수의 매개변수 개수와 상관없이 인자를 전달할 수 있다.arguments 객체의 특징유사 배열 객체: arguments 객체는 배열처럼 인덱스를 통해 접근할 수 있지만, 실제 배열은 아니다. 따라서 배열 메서드를 직접 사용할 수 없다.인자의 개수: arguments.length 속성을 통해 함수에 전달된 인자의 개수를 확인할 수 있다.ES6 이후의 변화: ES6에서는 스프레드 연산자(...)와 나머지 매개변수(rest parameters)를 도입하여 argum..
[JS]let, const, var
·
Language/JavaScript
var1. 스코프var로 선언된 변수는 함수 스코프를 가진다. 즉, 변수가 선언된 함수 내에서만 접근할 수 있으며, 함수 외부에서는 접근할 수 없다. 다만, var는 블록 스코프를 지원하지 않기 때문에 if문이나 for문과 같은 블록 내에서 선언된 변수는 블록 외부에서 접근할 수 있다.2. 호이스팅var 변수는 호이스팅(hoisting)에 의해 선언이 스코프의 최상단으로 끌어올려지며, 초기값으로 undefined가 설정된다. 즉, 선언 전에 변수를 참조하더라도 "undefined"를 반환하며, "ReferenceError"는 발생하지 않는다.3. 재선언같은 스코프 내에서 여러 번 선언할 수 있다. 이는 코드의 가독성을 떨어뜨릴 수 있으며, 기존 변수를 덮어쓰기 때문에 의도하지 않은 오류를 발생시킬 가능성..
[JS]템플릿 리터럴(Template Literal)
·
Language/JavaScript
템플릿 리터럴이란템플릿 리터럴은 ES6(ECMAScript 2015)에서 도입된 기능으로, 문자열을 더 간결하고 유연하게 작성할 수 있는 문법이다. 기본적으로 백틱(Backtick, `)을 사용하여 문자열을 감싸고, ${}를 이용해 동적으로 값을 삽입하거나 여러 줄 문자열을 작성할 수 있다.템플릿 리터럴의 주요 기능1. 변수 삽입템플릿 리터럴의 가장 기본적인 기능은 문자열 안에 변수를 삽입하는 것이다. 기존 방식으로는 문자열을 연결하여 변수를 포함해야 했으나, 템플릿 리터럴을 사용하면 간결하고 직관적으로 작성할 수 있다.const name = '신짱구';const age = 5;//기존 방식const message = '안녕하세요, 제 이름은 ' + name + '이고, 나이는 ' + age + '살입니..