매개변수(인자 parameter)와 인수(argument)의 차이점은 쓰임의 차이에 있습니다. 함수를 정의할 때 사용되는 변수를 매개변수, 실제로 함수가 호출될 때 넘기는 변수값을 인수라고 설명할 수 있습니다.
Q.
여기에서 ShowMessage(); 함수가 어디까지 영향을 미치는지 모르겠다. 함수선언을 하면 외부변수가 지역변수로 아예 바뀌는건가. 지역변수는 함수 안에서만 접근 가능하다는데.
!.
함수가 쓰일 때 까지 아무 영향을 미치지 않고있다가 쓰이고 나니까 외부변수를 수정 하게 된것
!.
아님. (1) username을 지역변수에서 수정한것, let userName 이였으면 같은 이름을 가진 지역변수로 선언되어 내부 변수인 userName에 가려져 외부변수를 수정하지 않음.
let userName = 'John';
function showMessage() {
userName = "Bob"; // (1) 외부 변수를 수정함
let message = 'Hello, ' + userName;
alert(message);
}
alert( userName ); // 함수 호출 전이므로 John 이 출력됨
showMessage();
alert( userName ); // 함수에 의해 Bob 으로 값이 바뀜
동작을 수행하는 코드 모음, 동사를 접두어로 (팀내 규칙이 최우선)
showMessage(..) // 메시지를 보여줌
getAge(..) // 나이를 나타내는 값을 얻고 그 값을 반환함
calcSum(..) // 합계를 계산하고 그 결과를 반환함
createForm(..) // form을 생성하고 만들어진 form을 반환함
checkPermission(..) // 승인 여부를 확인하고 true나 false를 반환함
function showPrimes(n) {
nextPrime:
for (let i = 2; i < n; i++) {
// i가 소수인지를 확인함
for (let j = 2; j < i; j++) {
if (i % j == 0) continue nextPrime;
}
alert(i);
}
}
function showPrimes(n) {
for (let i = 2; i < n; i++) {
if (!isPrime(i)) continue;
alert(i);
}
}
function isPrime(n) {
for (let i = 2; i < n; i++) {
if (n % i == 0) return false;
}
return true;
}
표현식은 값을 계산할 뿐 다른일을 하지 않습니다. 표현식은 프로그램의 상태를 어떤 형태로도 바꾸지 않습니다. 반면 문은 값을 가지지는 않지만, 프로그램의 상태를 변경합니다, 자바스크립트 프로그램은 실행할 문의 모음 에 지나지 않습니다
설명을 하려니까 내가 이해를 해야하고, 이해를 하려니까 다른 연관문서나 단어들을 찾게되고, 그런 과정을 겪으면서 더 또렷하게 머리에 들어온다.
강준규 멘토님 >
한줄로 정리하는 프로그래머스는 보지말아라, 성능좋은것들이나 변수명 잘 넣은것들이 좋은것이다.
지금 확실히 이해하고 가야되는것은 한쌍(키벨류)이 프로퍼티라는것, 속성은 나중에.
객체가 복합적으로 되어있다는 것에 중점을 두고 공부하기
함수와 메소드의 차이 메소드는 객체 안에 있는 함수
일급객체 : 조건변수에 담을 수 있다. 함수를 파라미터로 전달 할 수 있다. 리턴 값으로 사용할 수 있다.
자바스크립트는 다른 사람이 짜놓은 코드들을 많이 보는게 좋다.
내일 3일차 코어자바스크립트 천천히 읽으면 된다. 데이터 타입은 하면 좋다. 빡세다. 내일이 고비
실행컨택스트? 다때려치고싶고 그래도 몰라도 되니까 같이 이야기하고 왜 이해안가는지 구체적으로 정리해서 일지에다가 많이 적어보자. 단어들 가다가 길을 잃어버리면 그냥 넘겨라. 1장은 어렵지만 천천히 읽으면 이해가고, 2장은 어렵지만 괜춘 몰라도됨 ㅅㄱㅇ
조윤재 멘토님 >
코어 자바스크립트 이해가 안되더라도 슬슬 읽으면서 넘겨라 한번 읽고나면 깊이가 달라져있을것이다.
클래스 == 객체를 만들기위해 설계된 도면 (실체X)
객체 == 클래스로 찍어낸 구현체 (실체O)