본문 바로가기

프론트엔드관련 책예제실습정리/모던자바스크립트

(5)
12-5 함수_ 매개변수 최대개수, return 반환문 규칙 //12-5 매개변수 최대개수 /*이상적인 함수는 한가지 일만 해야하며 가장 이상적인 매개변수는 0개~3개이다 jquery의 ajax 메서드 객체 인수로 전달하는 예*/ $.ajax[{ mathod:'POST', url:'/user', data:{id:1,name:'lee'}, cache:false }] //12-5 return 반환문 /* return문은 함수 내부에서만 실행된다. return 문 이후 다른문은 실행되지 않는다. 세미콜론 자동삽입기능이 추가된 경우 return 문 이후 줄바꿈 작성시 오류날수 있다.*/ { function multi(x,y){ return x*y //반환문 console.log(반환되지 않는다.) } console.log(multy(3,5)) //15 }
12-5 함수_인수확인(매개변수 인수전달시 부적절한 반환 방지) //12-5 인수확인 /*어떤타입의 인수가 전달되어야 하는지, 어떤 타입의 값을 반환해야하는지 명확하지 x (자바스크립트는 동적타입언어라 매개변수 타입을 사전에 지정할수x)*/ //1.매개변수를 통해 전달된 인수값이 부적절한 경우 에러 발생시키기 { function add(x,y){ if(typeof x !=='number' || typeof y !=='number'){ throw new TypeError('인수는 모두 숫자 값이어야 한다') } return x +y; } console.log(add(2))//TypeError 인수는 모두 숫자 값이어야 한다 console.log(add('a','b'))//TypeError 인수는 모두 숫자 값이어야 한다 } //2.인수가 전달되지 않은 경우 단축평가를 ..
12 함수호출(매개변수와 인수 값 일치 불일치) //매개변수는 스코프(유효범위) 함수 내부에서 동작, 인수는 값을 전달 //12.함수호출 - 매개변수의 갯수 { //인자갯수가 적을 경우 : 매개변수 값이 undefined 이므로 값은 NaN function add(x,y){ return x +y } console.log(add(2)) //NaN } { //인자갯수가 초과할경우: 남은 인수는 암묵적으로 arguments의 객체 프로퍼티로 보관 function add(x,y){ return x +y } console.log(add(2,3,4)) //5 }
10 ES6 추가기능:객체리터럴확장 //ES6에서추가된 객체리터럴 확장 //1.프로퍼티와 키가 동이할때 프로퍼티 키 생략 { let x = 1, y = 2 let obj = {x,y} console.log(obj) //{x:1, y:2} } //2.계산된 프로퍼티 사용시 대괄호 { let prefix = 'prop' let i = 0; let obj = {}; obj[prefix + '-' + ++i] = i; obj[prefix + '-' + ++i] = i; obj[prefix + '-' + ++i] = i; console.log(obj) } //{prop-1: 1, prop-2: 2, prop-3: 3} //3.메서드축약표현 { const obj = { name:'lee', sayHello(){ console.log(`${this.n..
10프로퍼티 추가 삭제 //프로퍼티 : 객체는 프로퍼티의 집합, 프로퍼티는 키와 값으로 구성 { let person = { name:'Lee', age:20 } console.log(person) } //문자열 또는 문자열로 평가할수 있는 표현식은 프로퍼티 키를 생성할때 동적으로 생성 가능 , 이 경우 프로프티 키를 대괄호로 묶어아햠 { let obj = {}; let key = 'hello'; obj[key] = 'world' console.log(obj) } { let person = { 'last-name': 'lee', 1:10, hello:'world' } person['last-name'];//lee person['1']//10 person['hello']//world } //key 값으로 빈문자열, 식별자네이밍규칙..