Pre 35기 TWIL
Fourth week: 중구난방, 하나도 모르겠다!
Eva_0401
2019. 8. 18. 17:23
1. 일단 가장 큰 성과는 베이직, 알고리즘을 끝냈다는 것. 그러나 여기서도 모르는 문제들이 태반이다. 제대로 정리하고 싶은데, 코인즈 따라가기가 벅차 그럴 시간이 있을지 의문이 드는 건 사실이다. 하지만 이것 또한 핑계일 뿐이겠지.. 하루가 48시간이었으면 얼마나 좋을까ㅠ.ㅠ
2. 드디어 문서 작업을 완료했다. 별거 아닌 것 같아 보이지만 이 요약집으로 공부할 때 엄청 도움이 되었다.
주차별로 배운 것들을 리뷰해놓았는데, 앞으로도 잊지말고 꼭 해야겠다는 생각이 들었다. 사실 TWIL로도 커버가 가능한 영역이지만, 이놈의 정리병은 이렇게라도 하지 않으면 까먹게 되더라..
3. 8월 13일, Number/Math Methods, 변수의 전달, 디버깅
- Number Methods
- Number.isInteger()
- arguments : 정수인지 아닌지 판단
- return value : 정수를 판단한 결과 (Boolean)
- parseInt() /parseFloat()
- arguments : 형변환 하기 위해 파싱된 값
- return value : 정수또는 소숫점 숫자
- parseInt(value,radix) : 진법 변환할 때 사용함. radix가 필요없는 10진법 변환일 경우 명시적으로 10을 넣어주는 것을 권장
- num.toFixed([digits])
- arguments : 소숫점 뒤에 나타날 자릿수(반올림 처리, 기본값은 0)
- return value : 숫자를 나타내는 문자열
- Number.isInteger()
- Math
- Math.min([v1[,v2..])
- Math.max()
- Math.floor : 내림
- Math.round :반올림
- Math.random()
- arguments : 없음
- return value :0과 1 사이의 난수를 반환
- 변수의 전달
- Obj나 array는 ===로 비교할 수 없다.
- 파라미터를 확인하려면 함수 진입 시 확인
- 변수를 쓸 수 있는 범위가 존재한다1
- 함수 안쪽에서 값을 바꿔도 바깥쪽 변수에는 영향을 미치지 않는다 but,객체 값이 들어갈 경우 아님!
- 넘기는 변수의 타입이 무엇이냐에 따라 전달의 형태가 달라진다
- 문자열(string)을 넘김 => 값을 복사해서 넘김
- 객체(object)를 넘김 => 참조(주소값)을 복사해서 넘김 ( 객체,배열, 함수)
- 바로가기 연결과 다른 이름으로 저장이라고 생각하면 된다.
4. 8월 15일
- greeting ='Hello';
function greetSomeone(){
let firstName ='Josh';
return greeting + ' '+firstName;
}
: firstName이라는 변수가 이전에 정의된 적이 없어 에러가 난다. greetSomeone()안 쪽에 정의가 되어 있기 때문에 접근을 할 수 없다. function 안 쪽은 Local Scope이다. - Scope :변수 접근 규칙에 따른 유효 범위
- 변수는 어떠한 환경 내에서만 사용가능하며, 프로그래밍 언어는 각각의 변수 접근 규칙을 갖고 있다.
변수와 그 값이, 어디서부터 어디까지 유효한지를 ㅂ판단하는 범위
- Rule 1 : Local Scope vs Global
안쪽 scope에서는 바깥 변수/함수를 접근하는 것 : 가능
바깥쪽 scpoe에서 안쪽 변수/함수를 접근하는 것 : 불가능 - Scope는 중첩이 가능하다 - >함수 안에 함수를 넣을 수 있다.
Gloval Scope는 최상단의 Scope로, 전역 변수는 어디서든 접근이 가능하다. 지역 변수는 함수 내에서 전역변수보다 더 높은 변수를 가진다.- Q2 .
- let name = "Richard";
function showName(){
let name = "Jack"; //지역변수 : let 키워드를 이용해 새로 선언. 전역에 선언한 name과는 다른 변수임
//showName 함수 안에서만 접근가능
console.log(name); // Jack(2)
}
console.log(name);//Richard(1)
showName();
console.log(name); //Richard(3) - Q3
- let name = "Richard";
function showName(){
name = "Jack" ; //전역변수
//선언(let)이 없기 때문에, 바깥 scope에 있는 name변수를 가져온다.
console.log(name) ;//Jack
}
console.log(name);//Richard
- Rule 2
- Block : 중괄호로 시작하고 끝나는 단위
if(true){
console.log('i am in the block');
} - Q4 : 콘솔에 출력되는 결과는?
for(let i=0 ;i <5; i++){
console.log(i); //다섯번 iteration
}
console.log('final i:' , i); // ReferenceError
: block 범위를 벗어나는 즉시 변수를 사용할 수 없다.
- Block : 중괄호로 시작하고 끝나는 단위
- Rule 1 : Local Scope vs Global
- 변수는 어떠한 환경 내에서만 사용가능하며, 프로그래밍 언어는 각각의 변수 접근 규칙을 갖고 있다.