Javascript
-
Javascript - scopeJavascript 2020. 9. 5. 23:25
scope란? - 변수 또는 함수 선언 시, 어디서 어디까지가 유효한지의 범위를 의미함 - 세가지 종류가 있음(global, function, block) * block은 if문 for문 등 { } 로 감싸진 부분에서 동작 const value = 'hello!'; function myFunction() { console.log('myFunction: '); console.log(value); => hello! } function otherFunction(){ console.log('otherFunction: '); const value = 'bye!'; console.log(value); => bye! } myFunction(); otherFunction(); console.log('global sco..
-
Javascript - 함수 파라미터에서의 rest, 인자로서 spreadJavascript 2020. 9. 5. 22:34
파라미터의 모든 값 합해주는 함수 function sum(a, b, c, d, e, f, g) { return a + b + c + d + e + f + g; } console.log(sum(1,2,3,4,5,6)); 하지만 숫자 하나라도 없다면 작동 안함 function sum(...rest) { return rest.reduce( (acc, current) => acc + current, 0 ); } console.log(sum(1,2,3,4,5,6)); 위와 같이 파라미터로 rest 사용하면 rest는 입력받은 인자를 모두 하나의 배열로 묶는다. spread 인자로 사용 function sum(...rest) { return rest.reduce( (acc, current) => acc + curr..
-
Javascript - restJavascript 2020. 9. 5. 22:22
...사용 하지만 spread와 다르게 사용 const purpleCuteSlime = { name: '슬라임', attribute: 'cute', color: 'purple' }; const { color, ...rest } = purpleCuteSlime; console.log(color); => purple console.log(rest); => name: '슬라임' attribute: 'cute' ...rest (이름은 rest 아니어도됨) 쓰면 앞서 지정한 값을 제외하고 모든 값을 지정 배열에서 사용 const numbers = [0, 1, 2, 3, 4, 5, 6]; const [one, two, ...rest] = numbers; console.log(one); => 0 console.log..
-
Javascript - spreadJavascript 2020. 9. 5. 22:12
... 사용 객체 혹은 배열을 펼칠 수 있다. const slime = { name: '슬라임' }; const cuteSlime = { name: '슬라임' attribute: 'cute' }; const purpleCuteSlime = { name: '슬라임' attribute: 'cute', color: 'purple' }; console.log(slime); console.log(cuteSlime); console.log(pupleCuteSlime); 위와 같은 상황에서 중복을 줄이기 위해서 spread 사용 const slime = { name: '슬라임' }; const cuteSlime = { ...slime, attribute: 'cute' }; const purpleCuteSlime = ..
-
Javascript - 비구조화 할당(구조 분해)Javascript 2020. 9. 5. 21:55
비구조 할당 const object = { a: 1, b: 2 }; const {a, b} = object; console.log(a) => 1 console.log(b) => 2 함수의 파라미터에서 사용 const object = { a: 1, b: 2 }; function print({a, b}){ console.log(a) console.log(b) } print(object); b값에 대한 파라미터 없다면, 기본값 설정 const object = { a: 1 }; function print({a, b = 2}){ console.log(a); console.log(b); } print(object); // 또는 const object = { a: 1 }; function print({a, b}){ ..
-
Javascript - 조건문 스마트하게 쓰기Javascript 2020. 9. 5. 21:36
1. 특정 값을 여러값들 중에 있는지 확인해야 하는 상황에서 function isAnimal(text){ return (text === '고양이' || text === '개' || text === '거북이' || text === '너구리'); } console.log(isAnimal('개')); console.log(isAnimal('노트북')); => true => false 이걸 배열로 만들어 사용하면(includes() 함수), function isAnimal(text){ const animals = ['고양이', '개', '거북이', '너구리']; return animals.includes(text); // 배열 내장함수 includes() -> 배열에 값 유무 확인하고 boolean값 반환 } ..
-
Javascript - 함수의 기본 파라미터Javascript 2020. 9. 4. 20:51
함수를 호출할 때, 원래 넣어야할 파라미터 값을 넣지 않았을 때, 지정할 값을 정하는 것을 의미 function calculateCircleArea(r){ return Math.PI * r * r; } const area = calculateCircleArea(4); // 파라미터 넣어야함 console.log(area) 만약 파라미터 넣지 않는다면, 단축 평가 논리 계산법 사용 function calculateCircleArea(r){ const radius = r || 1; // 만약에 값이 없다면 1을 기본값으로 사용하겠다는 뜻 return Math.PI * radius * radius; } const area = calculateCircleArea(); console.log(area) ES6 문법..
-
javascript - 단축 평가 논리 계산법(Short-circuit evaluation)Javascript 2020. 9. 4. 20:43
단축 평가 논리 계산법(Short-circuit evaluation) - 논리연산자를 사용해서 코드를 더 짧게 쓰는 법을 말한다. 조건문 예시 const dog = { name = '멍멍이'; } function getName(animal){ if(animal) { return animal.name; } return undefined; } const name = getName(); console.log(name); 짧은 코드로 const dog = { name = '멍멍이'; } function getName(animal){ return animal && animal.name; } const name = getName(); console.log(name); 왜 이게 가능하지? And (&&) 연산자 co..