오늘부터 새로운 조로 이동 기기..
7조 팀 이름은 레인보우가 되었다🌈 아이디어 내신 분 귀여우시눼..
오전
this
키워드가 너무 어렵다..오후
프로젝트로 인해 미뤄왔던 코테연습.. 이제부터 열쉬미..
호이스팅 개념
function a(x) {
console.log(x); //1
var x;
console.log(x); //예상; undefined
var x = 2;
console.log(x); //2
}
a(1);
주석처럼 콘솔에 찍힐 것 같지만,
➡호이스팅 개념을 적용하여 생각해보면⬇
function a () {
var x;
var x;
var x;
x = 1;
console.log(x); //1
console.log(x); //1
x = 2;
console.log(x); //2
}
실제로는 이렇게 동작함을 알 수 있다
화살표 함수는 skip..➡ this 유실 발생!
생성자 함수내부에서의 this
➡ 구체적인 인스턴스를 만들기 위한 틀
생성자 내부에서의 this는 인스턴스를 가리킴
➡ 인스턴스를 생성할 때마다 동적으로 가리키게 됨.
명시적 this 바인딩 (this에 별도의 값을 저장)
call(thisArg, ...) : 호출 주체인 함수를 즉시 실행하는 명령어
apply(thisArg, argArray) : call 메서드와 동일하지만 두번째 인자가 배열이라는 차이점!
➡✔ 활용: 유사배열객체에 배열 메서드를 적용한다.
두 수의 나눗셈
정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.
function solution(num1, num2) {
var answer = 0;
answer = parseInt((num1/num2)*1000);
return answer;
}
floor가 생각안났네..
function solution(num1, num2) {
var answer = 0;
answer = Math.floor((num1/num2)*1000);
return answer;
}
function solution(num1, num2) {
return Math.floor((num1/num2)*1000);
}
배열 두배 만들기
정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
function solution(numbers) {
let answer = [];
for (let i=0; i<numbers.length; i++){
answer[i] = numbers[i] * 2;
}
return answer;
}
세상엔 천재들이 많다..
//다른 풀이
function solution(numbers) {
return numbers.reduce((a, b) => [...a, b * 2], []);
}
//또 다른 풀이
function solution(numbers) {
return numbers.map(i=>i*2);
}
오 DOM 완벽이해라니 ㅎㅎ최고!!