스코프는 유효범위로써 변수와 매개변수가 어디까지 유효한지 나타냄

자바스크립트는 기본적으로 전역과 함수 단위로 스코프 생성

examples/part2/039.js

 

*렉시컬 스코프 : 코드를 작성하는 시점에 스코프 결정

examples/part2/039-1.js

 

function(parameter,.....restParameter){

       //arguments 객체는 나머지 매개변수와 다르게 함수 몸통에서만 사용한다..

}

argumenst객체와 나머지 매개변수의 가장 큰 차이점은 arguments 는 배열이 아니지만

나머지 매개변수는 배열이라는 점

 

examples/part2/038.js

 

 

'JavaScript 200제' 카테고리의 다른 글

함수 호이스팅 이해하기  (0) 2019.09.25
스코프 이해하기  (0) 2019.09.25
함수 기본 매개변수 처리하기  (0) 2019.09.25
arguments 객체 이해하기  (0) 2019.09.25
예외 처리하기(throw,try-catch-finally)  (0) 2019.09.24

examples/part2/037.js

 

drawChar2는 width와 height을 기본 매개변수로 정의하는데, height의 기본값으로 앞의 매개변수인 width를 참조하여 작성함. width로 전달되는 값의 2로 나눈 값이 height의 기본값이 됨

 

'JavaScript 200제' 카테고리의 다른 글

스코프 이해하기  (0) 2019.09.25
함수 나머지 매개변수 이해하기  (0) 2019.09.25
arguments 객체 이해하기  (0) 2019.09.25
예외 처리하기(throw,try-catch-finally)  (0) 2019.09.24
함수 이해하기  (0) 2019.09.24

매개변수가 함수 선언시 작성되는 변수라면, 전달인자는 함수가 호출될때 전달되는 값

자바스크립트는 전달인자의 개수와 매개변수가 달라도 에러를 발생하지 않음!

매개변수와 무관하게 함수 호출시 더 많은 인자를 전달할수 있음!

매개변수 외에 함수에서만 사용 가능한 특별한 객체 제공 --> arguments객체

 

examples/part2/036.js

 

 

'JavaScript 200제' 카테고리의 다른 글

함수 나머지 매개변수 이해하기  (0) 2019.09.25
함수 기본 매개변수 처리하기  (0) 2019.09.25
예외 처리하기(throw,try-catch-finally)  (0) 2019.09.24
함수 이해하기  (0) 2019.09.24
심볼형 이해하기  (0) 2019.09.24

예외처리시 에러 종류 크게 두가지 

1. 예상치 못한 에러

2. 개발자가 의도한 에러 --> throw문 사용

 

examples/part2/035.js

 

문자형 값 'Wrong type'을 넣으면 typeof val 결과값은 stirng을 반환합니다.

따라서 조건문 아래 throw문 실행 

 

throw문은 예외상황을 미리 파악하고 에러를 발생시켜 이후 코드가 실행되지 않도록 합니다. 

 

 

* try-catch-finally문

try 블럭 안에서 발생된 에러 잡아내고

catch 블록으로 제어권 넘김

finally 블록 에러발생여부와 상관없이 실행되는 블록

 

examples/part2/035-1.js

 

 

'JavaScript 200제' 카테고리의 다른 글

함수 기본 매개변수 처리하기  (0) 2019.09.25
arguments 객체 이해하기  (0) 2019.09.25
함수 이해하기  (0) 2019.09.24
심볼형 이해하기  (0) 2019.09.24
ES6의 향상된 객체문법  (0) 2019.09.24

function함수이름 {매개변수목록} {

  함수실행부

}

 

함수 형태 4가지

1. 키워드 function

2. 함수이름 function과 소괄호 사이에 이름정의

3. 매개변수 목록 

4. 실행부

 

 

 

'JavaScript 200제' 카테고리의 다른 글

arguments 객체 이해하기  (0) 2019.09.25
예외 처리하기(throw,try-catch-finally)  (0) 2019.09.24
심볼형 이해하기  (0) 2019.09.24
ES6의 향상된 객체문법  (0) 2019.09.24
객체이해하기  (0) 2019.09.24

examples/part2/033.js

'JavaScript 200제' 카테고리의 다른 글

예외 처리하기(throw,try-catch-finally)  (0) 2019.09.24
함수 이해하기  (0) 2019.09.24
ES6의 향상된 객체문법  (0) 2019.09.24
객체이해하기  (0) 2019.09.24
템플릿 문자열 이해하기  (0) 2019.09.24

* 단축 속성명

단축 속성명은 변수가 미리 준비되어있는 경우 활용가능

변수명으로 속서의 키와 값을 한번에 정의 할 수 있습니다.

{변수명}

 

examples/part2/030.js

* 비구조화 할당 

배열이나 객체의 값을 새로운 변수에 쉽게 할당

 

examples/part2/032.js

obj 객체에는 a,b,c,d의 속성이 정의됨

비구조화를 통해 속성 a와 c 속성을 가져와 변수에 할당

중괄호 안에 원하는 속성명을 넣으면, obj객체를 비구조화 하여 해당 속성명에 따라 값을 각 변수에 할당합니다.

변수 a에는 1,c에는 30할당

 

배열 비구조화 할당은 중괄호 부분을 []로 바꾸면 됩니다.

 

'JavaScript 200제' 카테고리의 다른 글

예외 처리하기(throw,try-catch-finally)  (0) 2019.09.24
함수 이해하기  (0) 2019.09.24
심볼형 이해하기  (0) 2019.09.24
객체이해하기  (0) 2019.09.24
템플릿 문자열 이해하기  (0) 2019.09.24

객체(Object)는 값들을 그룹으로 묶은 데이터 모음 

객체를 만드는 표현식 {} 사용

{key : Value}

하나의 Key에는 하나의 값이 매핑됨 . 객체 안에 중복된 키 허용X

examples/part2/028.js

 

객체를 설명하는데 있어JSON을 설명하지 않을수 없습니다. 

JSON(JavaScriptObjectNatation) 은 자바스크립트 객체와 매우 유사한 구조를 지닌 데이터 교환방식

{"Key" : "Value"}

 

 

객체 내부에 있는 특정 속성에 바로 접근하고, 새로운 속성을 추가/삭제하는 방법

examples/part2/029.js

객체 속성에 접근하는 방법은 객체의 우측에 컴마. 를 두고 그 다음에 객체 속성으로 정의된 키 이름 작성하면됨

var family = {
'address' : 'Seoul',
members:{},
addFamily : function(age, name, role) {
this.members [role] = {
age: age,
name: name 
};
},
getHeadcount : function() {
return Object.keys(this.members).length;
}
};
family.addFamily(30,'chole','aunt');
family.addFamily(3,'lyn','niece');
family.addFamily(10,'dangdangi','dog');

var printMembers = function() { // 변수 printMembers에 함수 표현식을 대입함. 
var members = family.members; //family변수 객체의 members에 접근. 그리고 별도의 members 변수를 선언하고 해당 값을 할당
for (role in members) { //for-in으로 members객체를 순환합니다. members의 속성을 하나씩 접근할때마다
//name과 age의 속성값 반환하여 출력
console.log('role => ' + role + ', name =>' + members[role].name + ', age =>' + members[role].age);
}
};
printMembers(); //선언한 pirntMembers 함수를 호출하여 실행시킴

var members = family.members;
members['nephew'] = {age: 3 , name :'hyun'};  //객체에 새로운 속성을 추가하는 방법 키가 'nephew'이고 값은 {age:3,name:'hyun'}인 속성을 members에 추가합니다.
members.niece = {age: 5, name: 'lyn'}; //'niece'라는 키 속성은 members객체 변수 안에 원래 있는 값입니다.
delete members.aunt; //객체의 특정 속성을 삭제하는 방법입니다. 키워드 delete를 앞에 두고 특정 객체의 속성을 뒤에 작성하면,  members 객체에 콤마로 접근한 aunt 속성이 삭제됩니다.
delete members['dog']; 
printMembers();

 

'JavaScript 200제' 카테고리의 다른 글

예외 처리하기(throw,try-catch-finally)  (0) 2019.09.24
함수 이해하기  (0) 2019.09.24
심볼형 이해하기  (0) 2019.09.24
ES6의 향상된 객체문법  (0) 2019.09.24
템플릿 문자열 이해하기  (0) 2019.09.24

카트 배열을 정의, 카트배열에는 name과 price를 속성으로 가지는 객체로 구성합니다.

템블릿 문자열은 `(억음부로)로 작성 대체로 키보드 숫자 1왼쪽에 위치

템플릿 문자열을 이용하면 ${표현식}을 이용하여 삽입처리가 가능

 

카트의 배열 길이의 계산된 결과가 해당위치에 삽입됩니다.

 

'JavaScript 200제' 카테고리의 다른 글

예외 처리하기(throw,try-catch-finally)  (0) 2019.09.24
함수 이해하기  (0) 2019.09.24
심볼형 이해하기  (0) 2019.09.24
ES6의 향상된 객체문법  (0) 2019.09.24
객체이해하기  (0) 2019.09.24

+ Recent posts