php에서 배웠던 for, while, switch, do_while은 동일해서 생략하고 for...in과 for...of만 정리해둘려고 한다
let obj = {
key1: 'val1'
,key2: 'val2'
}
for(let key in obj) {
console.log(obj[key]);
}
// 아래처럼 출력
// val1
// val2
// 값에 접근 할려면 arr[key]라고 해주면 접근 가능
let arr = [1, 2, 3];
for(let key in arr) {
console.log(arr[key]);
}
// 아래처럼 출력
// 1
// 2
// 3
let str = 'abc';
for(let val of str) {
console.log(val);
}
// 아래처럼 출력
// a
// b
// c
let arr = [1, 2, 3];
for(let val of arr) {
console.log(val);
}
// 아래처럼 출력
// 1
// 2
// 3
function mySum(a,b){
return a + b;
}
function mySum(a,b){
console.log('재할당');
}
// 이런식으로 함수를 선언하게되면 호이스팅에 영향을 받고, 재할당이 가능하다
const FNC_MY_SUM = function(a,b){
return a + b;
}
// 이런식으로 변수에 담아서 하게되면 호이스팅에 영향을 받지않고, 재할당을 방지한다
const FNC_MY_CUM_2 = (a,b) => a + b;
// 파라미터가 없을 경우
const FNC_TEST1 = function() {
return 'FNC_TEST1';
}
const FNC_TEST1_A = () => 'FNC_TEST1';
// 파라미터가 1개일 경우
const FNC_TEST2 = function(str) {
return str;
}
const FNC_TEST2_A = str => str; // 파라미터가 한개일경우 소괄호 생략가능
// 리턴처리 이외의 처리가 있을 경우, {}생략 불가능
const FNC_TEST3 = function(str) {
if(str === 'a') {
str = 'a입니다.';
}
return str;
}
const FNC_TEST3_A = str => {
if(str === 'a') {
str = 'a입니다.';
}
return str;
}
const MY_SUB = (callBack, num) => {
if(num === 3) {
return '3입니다.';
}
return callBack() - num;
}
const MY_CALLBACK = () => 10;
MY_SUB(MY_CALLBACK, 3);
const MY_CLASS = (function(){
const name = '홍길동';
return {
myPrint: function(){
console.log(name + '입니다.');
}
}
})();