JavaScript 9

객체 생성

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다.[17장]-프로퍼티 어트리뷰트 객체 생성 방법🤔객체 생성 방식에는 여러가지가 있다.첫째로 Object 생성자 함수 - new Object로 생성하는 방법✏️const method = new Object();method.name = "sun"; //프로퍼티 추가console.log(method); //{name: 'sun'}근데 이런 방법보다 객체 리터럴로 생성하는게 훨씬 더 간편함 . 이 방법은 굳이다. 두번째 - 객체리터럴 사용✏️const literalObject = { age: 2, getMyAge() { return this.age * 2; },};const similarLiteralObject = { age: 10, g..

JavaScript 2026.01.10

프로퍼티 어트리뷰트

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다. [16장]-프로퍼티 어트리뷰트모든 객체는 prototype이라는 내부 슬롯을 갖는다.또한 프로퍼티를 생성할 때 , 상태(value,writable,,,등)를 나타내는 프로퍼티 어트리뷰트를 기본값으로 정의한다.이때 __proto__를 통해 간접적으로 접근할 수 있다.프로퍼티 어트리뷰트에 간접적으로 접근하기 위해서는 Object.getOwnPropertyDescriptor 메서드를 이용하여 확인 가능하다. const person = { name: "Lee",};//첫번째 매개변수: 객체 참조 //두번째 매개변수: 객체 키값(string)console.log(Object.getOwnPropertyDescriptor(person, "name"))..

JavaScript 2026.01.10

JS변수 선언 방식

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다.[15장 - let,const,var 키워드와 블록 레벨 스코프]15.1) var 키워드로 선언한 변수의 문제점ES5 까지는 변수 선언 방법이 var키워드를 사용하는 것이었다 변수 중복 선언이 허용된다.var키워드로 선언한 변수는 중복 선언이 가능하다. (밑 코드)때문에 동일한 이름의 변수가 선언되어 있는 것을 모르고 중복선언 했다면,먼저 선언된 변수 값이 변경되는 부작용이 발생한다var x = 1;var y = 1;var x = 100;var y;console.log(x); //100console.log(y); //1var은 선언문은 초기화문에 따라 다르게 동작한다.(밑 코드)초기화문이 있는 변수 선언문은 var키워드가 없는 것처럼 동작 ,//..

JavaScript 2025.09.06

스코프와 전역변수

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다 [13장-스코프] 스코프function add(x, y) {//매개변수는 함수의 몸체에서만 참조가 가능하다. 즉, 매개변수의 스코프는 함수 몸체 내부이다. console.log(x, y); //6 return x + y;}add(2, 4);//매개변수는 함수의 몸체에서만 참조가 가능하다.console.log(x, y); //ReferenceError: x is not defined위의 예시처럼 함수에서 매개변수의 스코프는 함수의 몸체 내부로 한정된다. var var1 = 1;if (true) { var var2 = 2; if (true) { var var3 = 3; }}function foo() { var var4 = 4; fu..

JavaScript 2025.08.01

함수-[2]

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다 [12장-함수] 함수 호출매개변수와 인수함수를 실행하기 위해 필요한 값을 외부에서 내부로 전달할 때는 매개변수를 이용하여 인수를 전달한다.function add(x,y){return x+y;}//함수 호출 //인수 1과 2가 매개변수 x와 y에 순서대로 할당되고 함수 몸체의 문들이 실행된다.var result=add(1,2);매개변수는 함수 몸체 내부에서만 참조할 수 있고 함수 몸체 외부에서는 참조할 수 없다.즉 매개변수의 스코프는 함수 내부부터이다.인수가 부족해서 인수가 할당되지 않은 매개변수의 값은 undefined이다.function add(x, y) { return x + y;}console.log(add(2)); //NaN (2+..

JavaScript 2025.07.31

함수-[1]

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다[11장-함수]함수 일련의 과정을 문(statement)로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다.프로그래밍 언어의 함수도 입력을 받아서 출력을 보내는데이때 전달받는 변수를 매개변수 , 입력을 인수, 출력을 반환값이라고 한다.함수는 값이기에 여러개 존재할 수 있기에 식별자인 함수 이름을 써서 사용할 수 있다.또한 함수는 필요할 때 여러번 호출 가능하다.실행 시점을 개발자가 결정할 수 있고, 재사용이 가능하다.함수 정의하지만 함수는 정의만으로 실현되지 않는다. 함수는 매개변수를 통해 함수에 전달하면서 지시해야한다.function add(x,y) {return x+y}const result= add(2,5) // 함수 호출c..

JavaScript 2025.07.31

객체 리터럴

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다 [10장-객체 리터럴] 객체자바스크립트는 모든것이 객체로 이루어져있다.원시값을 제외한 모든 것이 객체이다.원시값은 변경 불가능한 값이지만 객체는 변경 가능한 값이다.객체는 0개 이상의 프로퍼티로 구성된 집합이다.프로퍼티는 key(키)와 value(값)으로 구성된다.프로퍼티 값이 함수일 경우에는 구분을 위해 "메서드"라고 부른다.프로퍼티 : 객체의 상태를 나타내는 값메서드 : 프로퍼티를 참조하고 조작할 수 있는 동작 프로퍼티프로퍼티 키를 중복 선언하면 나중에 선언한 프로퍼티가 먼저 선언한 프로퍼티를 덮어 쓴다.이때 에러가 발생하지 않음에 주의하자프로퍼티 값은 식별자 네이밍 규칙을 따르냐 안따르냐에 따라 나뉜다.만약 따르면 따옴표를 생략할 수 ..

JavaScript 2025.07.03

타입과 연산자

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다.[6장]-type7개의 데이터 type은 원시타입과 객체타입으로 구분할 수 있다.숫자숫자 type은 3가지 특별한 값도 표현이 가능하다Infinity : 양의 무한대-Infinity: 음의 무한대NaN: 산술 연산 불가 console.log(10/0) // Infinity console.log(10/-0) // -Infinity console.log(1*"String") // NaN문자열문자열은 작은따옴표(''), 큰따옴표(""), 백틱(``)으로 텍스트를 감싼다.따옴표로 감싸지 않으면 token으로 인식하기 때문이다.템플릿 리터럴템플릿 리터럴이라고 하는 문자열 표기법은 백틱을 사용해 표시한다.표현식의 결과가 문자열이 아니더라도 문자열 ..

JavaScript 2025.07.01

변수와 표현식

모던 자바스크립트 Deep Dive 참고하여 작성하였습니다.[4장]-변수변수하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기위해 붙인 이름을 말한다.즉, 값의 위치를 갈리키는 상징적인 이름식별자변수의 이름으로 어떤 값을 구별해서 식별할 수 있는 고유한 이름 ,각 식별자는 값이 저장되어있는 메모리 주송허 매핑관계를 갖는다.식별자는 값이 아니라 메모리 주소를 기억하고있다.(메모리 주소에 붙인 이름)변수선언선언단계 : 변수 이름을 등록해서 js엔진에 변수 존재를 알린다.초기화단계 : 갑을 저장하기위한 메모리공간을 확보하고 암묵적으로 undefined를 할당해 초기화한다.let , ver, constvar name위 코드는 현재 변수만 선언하고 값은 할당하지 않았다. 따라서 변..

JavaScript 2025.07.01