this 키워드는 뜻이 매우 다양하다.사용하는 환겨에 따라서 4개 이상의 각각 다른 뜻을 가지고 있다.그냥 HTML 파일 아무거나 하나 만들고 중간에 <script>태그를 열어서this라는 키워드를 콘솔창에 출력해보도록 하자그러면 this 키워드는 그냥 windo
지난 정리글에 this의 의미를 정리를 하자면1\. 일반 함수에서 쓰는 window2\. 오브젝트 내의 함수(메소드)에서 쓰면 함수를 동작시키는 오브젝트가 출력된다고 정리했다.자바스크립트에서 오브젝트를 비슷한걸 여러개 만들고 싶을 경우오브젝트를 복사하는게 아니라 con
자바스크립트에선 함수를 이런 식으로 만들어서 사용한다.함수는 (1) 또는 (2)처럼 만들고예쁜함수(); 이렇게 함수를 사용한다.(function 키워드로 시작하는것 말고도 (2)번처럼 변수에다가 함수를 등호=로 집어넣어서 함수를 만들 수 있다.)근데 ES6 신문법을 사
변수는 자료를 임시로 저장하는 공간이다.1\. var이라는 키워드 오른쪽에 작명하고, 변수에 저장할 자료를 등호로 집어 넣으면된다.2\. 오브젝트, 어레이, 함수 등 모든 자료들을 담을 수 있다.3\. 그리고 var 이름이라는 부분은 선언, 이름 = kim 이라는 부분
자바스크립트는 변수나 함수를 선언하면 Hoisting이라는 현상이 일어난다.자바스크립트는 변수나 함수의 선언부분을 변수의 범위 맨 위로 강제로 끌고가서 가장 먼저 해석한다.그게 Hoisting이다.예를 들어보자면이렇게 함수 내에서 변수를 만들었다고 가정해보자근데 자바스
자바스크립트에서 문자를 다룰 때 어려웠던 점을 해결하기 위해 나온 문법이다.따옴표 대신 backquote, backtick 이라는 \`\` 기호를 사용해서 문자를 만들면된다.자바스크립트 문자열은 문자 중간에 엔터키치면 안된다.하지만 백틱으로 문자를 만들면 엔터키가 자유
그냥 마침표를 연달아서 3개... 찍으면 그게 Spread Operator라는 문법이다.한글로는 펼침연산자 이렇게 부른다. 무슨 역할을 하냐면 "괄호제거 해주는 연산자"이다.그럼 어레이라는 array에 붙어있떤 괄호를 제거해준다.▲ 3번줄처럼 Spread Operato
3. array를 파라미터 형태로 집어넣고 싶을 때 파라미터를 3개 받아와서 전부 더해주는 더하기라는 함수를 만들었다. 그런데 여기 파라미터를 집어넣을 때 직접 1,2,3이라고 작성해서 넣는게 아니라 이미 존재하는 array에 있던 내부 자료들을 집어넣고 싶으면 어떻
⚡️ default 함수를 만들 때 파라미터값을 실수로 안적거나 했을 경우 파라미터에 기본값(default 값)을 줄 수 있다. 위 코드를 실행하면 콘솔창에 11이 뜬다. 지금 더하기() 함수는 파라미터를 두개 입력할 수 있다. 하지만 실수인지 일부러인지 1이라는 파
함수를 만들 때 ...이라는 기호를 파라미터 왼쪽에 추가가능하다위 코드를 실행해보면 파라미터들이라는 변수를 출력해준다.파라미터들이라는 변수는 모든 파라미터를 \[] array 안에 담고 있다.이게 바로 ES6 환경에서 쓸 수 있는 rest 파라미터이다.원하는 파라미터
자바스크립트의 자료형(문자, 숫자, array, object 등)은 자료형을 크게 2개로 분류한다.Primitive & reference라고 분류하는데Primitive data type들은 자료 자체가 변수에 저장되는 자료들이다.문자, 숫자 자료형들이 대표적인 Prim
이렇게 쭉 30명을 만들어야한다. 어떻게 하는게 가장 빠른 방법일까?오브젝트를 직접 중괄호쳐서 하드코딩 30개 하는 것보다는 비슷한 오브젝트들이니 복사를 하는게 좋을 것이다.근데 = 등호를 이용해서 var 학생2 = 학생1 복사하면 큰일나니오브젝트를 복사해서 찍어낼 수
저번에 다뤘던 내용은 객체지향 용어로 상속(Ingeritance)이라고 한다.기계라는 constructor가 가진 Name, age 속성들을 그대로 물려받아서 오브젝트를 하나 뽑아주는게재산 물려주는 상속과 비슷하다고 해서 상속이라고 부른다.(그래서 상속해주는 것은 부모
이전에 정리했던 prototype은 여러가지 특징이 있다.일반 object, array 만들어도 거기엔 prototype이 없다.그럼 일반 object 같은걸 상속하고 싶으면 어떻게 해야할까?constructor 함수를 만들던가 Object.create()를 쓰거나 c
Prototype, this, class가 어렵다면 ES5 방식으로 하는 방법도 있다.ES5 출시 때 나온 Object.create()라는 문법이 있는데내가 상속을 이용해서 오브젝트를 만들고 싶다면 이것보다 더 쉬운 문법이 없다.objcet.create(부모objec
⚡️ class class 라는 문법은 constructor, prototype을 이용한 상속기능을 만들 수 있게 도와주는 문법이다. 기존 function부터 시작하던 문법과 기능상 차이는 크게 없고 약간 더 보기 쉽게 표현해줄뿐이다. ES6 class 키워드로 구현
위 코드에서 new 할아버지() 이런식으로 새로운 object를 쉽게 생성할 수 있다.그런데 이 class가 너무나도 유용한 나머지 이것과 유사한 class를 하나 더 만들고 싶다.그러면 직접 class를 하나 더 만들어서 내용을 복붙하면 될까?class안에 복사할 내