[JS] this 조금 더 정리하기
·
Deep Dive 정리
17장을 공부하다가.. this 에 대해서 조금 더 구체적으로 정리하고 싶어서 새로운 포스팅을 작성한담..  1. this 란 ?함수나 메서드 내부에서 현재 실행되고 있는 컨텍스트(문맥)나 객체를 참조하는 역할을 한다. 하지만, this가 참조하는 대상은 그 사용 위치에 따라 달라지기 때문에 상황에 맞게 사용하면 된다!  📌바인딩이란?  식별자와 값을 연결하는 과정을 의미한다. 변수 선언은 변수 이름과 확보된 메모리 공간의 주소를 바인딩하는 것이었다. this 바인딩은 this 와 this 가 가리킬 객체를 바인딩하는 것이다.  1. 전역 컨텍스트에서의 thisconsole.log(this); // 전역 객체를 참조한다. //브라우저에서는 `window`, Node.js에서는 `global` 2. 객..
[JS Deep Dive] 17장 - 생성자 함수에 의한 객체 생성
·
Deep Dive 정리
1.  생성자 함수란? new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수생성자 함수에 의해 생성된 객체를 인스턴스라고 한다. Object, String, Number, Boolean, Function, Array, Date, RegExp, Promise 등의 빌트인 생성자 함수 제공함1-1. Object 생성자 함수Object 함수를 호출하면 빈 객체를 생성하여 반환빈 객체를 생성한 이후 프로퍼티 또는 메서드를 추가하여 객체를 완성할 수 있다. // object 로 빈 객체를 생성함const person = new Object();//빈 객체에 프로퍼티를 추가함person.name = "hihilong";person.sayHello = function () { console.log ("hi...
[JS Deep Dive] 16장 - 프로퍼티 어트리뷰트
·
Deep Dive 정리
1. 내부슬롯과 내부 메서드  JS 엔진에서 객체의 동작을 설명하기 위해 사용되는 개념이다. => JS 엔진이 객체의 내부 상태를 추적하기 위해 사용이중괄호'[[]]' 로 감싼 이름들을 내부 슬롯과 내부 메서드라고 한다.JS 엔진에서 실제로 동작하지만 개발자가 직접 접근할 수 있는 것은 아니다.  1-1. 내부 슬롯 (Internal Slot)내부 슬롯은 객체 내부에 저장된 특수한 속성. 일반적인 객체 속성과 달리, 내부 슬롯은 자바스크립트 코드에서 직접 접근하거나 수정할 수 없다.[[...]] 형태로 표기예를들어 .. 배열 객체는 length 속성을 가지고 있다. . 이 length 속성은 배열의 길이를 나타내는데, 이 값은 실제로 배열 객체의 내부 슬롯 중 하나에 저장된다. 이때 배열 객체는 [[Ar..
[JS Deep Dive] 15장 - let const 키워드와 블록레벨 스코프
·
Deep Dive 정리
https://khw063011.tistory.com/103 [JS Deep Dive] 13장 - 스코프1. 스코프란 ?모든 식별자 는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정즉 다시 말해서 스코프는 식별자가 유효한 범위만약 스코프라는 개념이 없khw063011.tistory.com 13장에서 var 키워드로 선언한 변수들과 let 과 const 로 선언한 변수들의 차이점에 대해서 포스팅 했었다. 이걸 조금 더 구체적으로 들어가보도록 하겠담 1. var 키워드로 선언한 변수의 문제점(1) 변수 중복 선언 허용var 은 변수 중복 선언이 가능하다.var 로 선언한 변수를 중복 선언하면 초기화문 유뮤에 따라 다르게 동작한다.따라서... 의도하지 않아도 먼저 선언..
[JS Deep Dive] 13장 - 스코프
·
Deep Dive 정리
1. 스코프란 ?모든 식별자 는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정즉 다시 말해서 스코프는 식별자가 유효한 범위만약 스코프라는 개념이 없다면 같은 이름을 갖는 변수는 충돌을 일으키므로 프록르램 전체에서 하나밖에 사용 못했을 것이다. 따라서... 스코프는 스코프 내에서 식별자는 유일해야하지만 다른 스코프에는 같은 이름의 식별자를 사용할 수 있다. 구분설명스코프변수전역코드의 가장 바깥 영역전역 스코프전역 변수지역함수 몸체 내부지역 스코프지역 변수   2. 스코프 체인스코프가 함수의 중첩에 의해 계층적 구조를 가진다. 모든 스코프는 하나의 계층적 구조로 연결되며 모든 지역 스코프의 최상위 스코프는 전역 스코프스코프 체인 : 모든 스코프가 계층적으로 연결된 것..
[JS Deep Dive] 12장 -함수 (2)
·
Deep Dive 정리
1. 참조에 의한 전달과 외부 상태의 변경    function hihilong(primitve, obj) { primitive +=100; obj.name = "kim",} 이 코드를 살펴보면 매개변수 primitive 는 원시값을 전달받고 매개변수 obj 는 객체를 전달받는다. 따라서 이렇게 선언한 애들을 변경해보자! // 외부 상태var num = 100;var person = {name: "byebyelong" }console.log(num) //100console.log(person) //{name:"byebyelong"} hihilong(num,person);// 원시값은 값 자체가 복사되어 전달되고 객체는 참조값이 복사되어 전달된다. console.log(num) //100 //원시값..
[JS Deep Dive] 12장 -함수 (1)
·
Deep Dive 정리
우리 함수는 많이 들어봤다. 수학에서의 함수.. 파이썬에서의 함수... 자바스크립트의 함수도 비슷한 역할을 수행한다.  1. 함수함수는 일련의 과정을 문 으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다.이때 함수도 입력을 받아서 출력을 내보낸다.매개변수 : 함수 내부로 입력을 전달받는 변수인수 : 입력반환값 : 출력함수 정의 : 함수를 생성함수 호출 : 인수를 매개변수를 통해 함수에 전달하면서 함수의 실행을 명시적으로 지시하여 반환값 반환  🤔 함수는 왜 사용할까 ~? 결론적으로 말하면 " 코드의 재사용 " 때문이다. 같은 코드를 중복해서 작성하는 것이 아니라 미리 정의된 함수를 재사용하기 위해서다! 따라서 이렇게 코드의 재사ㅑ용이 일어나면 유지보수의 편의성을 높이고 실수를 줄여 ..
[JS Deep Dive] 11장 -원시값과 객체의 비교
·
Deep Dive 정리
자바스크립트에서 는 크게 원시타입과 객체타입으로 구분할 수 있다는 것을 포스팅했었다.https://khw063011.tistory.com/89 [JS Deep Dive] 6장 - 데이터타입📌 1. 데이터 타입이란?값의 종류를 말한다.자바스크립트의 모든 값은 데이터 타입을 가진다. 7개의 데이터 타입은 원시타입과 객체타입으로 구분할 수 있다. 🤔  1-1. 타입을 왜 알아야할까? khw063011.tistory.com 그렇다면 이걸 구분하는 기준이 무엇일까?총 세가지 차원에서 다르다고 말할 수 있겠다! => 변경 가능 여부, 메모리공간에 저장되는 값, 전달되는 값   원시타입값객체타입값변경가능 여부변경불가능변경가능메모리공간에 저장되는 값실제값 저장참조값 저장전달되는 값원시값이 복사되어 잔달참조값이 복사..
[JS Deep Dive] 10장 -객체리터럴
·
Deep Dive 정리
1. 객체란 ?자바스크립트를 구성하는 거의 모든 것이 객체이다 .즉 원시값을 제외한 나머지값(함수, 배열, 정규 표현식 등)은 모두 객체이다.원시값은 변경불가능한 값이지만 객체타입의 값은 변경가능한 값이다. 객체는 0개 이상의 프로퍼티로 구성된 집합이다.     🤔 그렇담 프로퍼티가 무엇이지 ?2. 프로퍼티란? 프로퍼티는 객체의 속성이나 특징을 나타내는 요소이다.자바스크립트에서 객체는 여러가지 데이터나 기능을 하나로 묶어 표현하는데이 객체 안에 담긴 각각의 데이터를 프로퍼티라고한다. 객체 내부에 키(key) 와 값(Value) 의 쌍으로 존재하는데이 키와 값 쌍을 통해 객체는 자신의 상태나 특징을 나타내고 그 상태에 따라 동작할 수 있다. 조금 더 이해가 잘되게 예시를 들어보자!우리가 만약에 자동차라는..
[JS Deep Dive] 2장 - 자바스크립트란?
·
Deep Dive 정리
1.  📌 자바스크립트란?  자바스크립트는 이름만 들었을 때 '자바(JAVA) ' 와 혼동이 될 수 있다.하지만 자바스크립트와 자바는 매우 다른 언어이며 자바스크립트는  ‘웹페이지에 생동감을 불어넣기 위해’ 만들어진 프로그래밍 언어이다. 맨 처음 등장했을 때에도 웹페이지의 보조적인 기능을 수행하기 위해 등장했고 처음 웹브라우저인 넷스케이프 네비게이터에 탑재되어 탄생하였고 "모카" , "라이브스크립트" 라는 이름들을 거쳐 "자바스크립트" 라는 이름으로 탄생하게 되었다. 자바스크리트로 작성한 프로그램을 스크립트(script) 라고 부른다.스크립트는 웹페이지의 HTML 안에 작성할 수 있는데 웹페이지를 불러올 때 스크립트가 자동으로 실행된다.스크립트는 특별한 준비나 컴파일 없이 보통의 문자 형태로 작성할 수..
하이롱하이롱
'Deep Dive 정리' 카테고리의 글 목록 (3 Page)