var arr = ['가', '나', '다', '라', '마'];
delete arr[2];
console.log(arr) // ['가', '나', '라', '마']
해당 인덱스의 요소와 그 공간을 없애서 배열의 길이를 줄이는 메소드이다.
let i = 0
while(true){
alert(`${i}번째 반복문입니다.`);
i += 1;
}
while() 안에 true
때문에 계속 무한히 반복된다. 그래서 이를 제한하는 조건문이나 break가 필요하다. 그래서...
let i = 0
while(confirm('계속 진행을 원하시면 확인을 누르세요.')){
alert(`${i}번째 반복문입니다.`);
i = i + 1;
}
confirm()으로 조건을 부여하여, 확인버튼(true)를 클릭할 경우에만 반복문이 1회씩 실행되도록 한다. 취소버튼(false)를 누르면 반복문이 break 된다.
do {
실행문;
} while (조건);
일단 실행하고 조건보는 무지성 반복문이다. 그래서 잘 사용하지 않는다고 한다.
일단 이런게 있다는 정도만 알고 가자.
let star = "*"
for ( let i = 0 ; i < 10; i++ ) {
console.log(star);
star += "*"
}
인덱스 0
이라고 생각하고0 부터 9
까지*
을 계속 1개씩 추가하는 반복으로 해당 이미지가 나오게 되었음 ( 난이도 최하
function 함수이름(파라미터) {
return 파라미터 * 파라미터;
}
모든 함수에는 이름이 꼭 있을 필요는 없다. 하지만 호이스팅에 영향을 받지 않기 위해서는 let 변수명
에다가 함수를 넣어서 영향을 받지 않게 할 수있다. 함수 선언식은 호이스팅에 영향을 받는다.
// 함수선언식
function pluss(x){
return x + x + x;
}
console.log(pluss(2)); //6
// 함수선언식
function pluss(x){
console.log(x + x + x;)
}
pluss(2); //6
// 함수표현식
let multiple = function(x){
return x * x
}
console.log(multiple(2)); //4
// 함수표현식
let multiple = function(x){
console.log(x * x);
}
multiple(2); //4
let num1 = 20,
let num2 = 3,
let name = "Chamahk";
// 전역 변수는 함수 안으로 들어갈 수 있음
function multiply() {
return num1 * num2;
}
multiply(); // 20 * 3 = 60
// 함수 안에 있는 변수는 로컬 변수 임
function getScore () {
let num1 = 2,
let num2 = 3;
// name은 전역 변수라서 해당 변수로 들어올 수 있음
function add() {
return name + " scored " + (num1 + num2);
}
// add() 실행하면, 값만 리턴하고 함수를 종료함.
return add();
}
getScore(); //"Chamahk scored 5"
함수의 범위는 선언식 일 때는 전역, 표현식 일때는 변수가 var 이면 전역, let 이면 순차 스코프를 가진다. ( 호이스팅 안주고 싶으면 let을 이용 )
함수 안에서 선언된 변수는 로컬 변수로 밖으로 나갈 수 없음
함수 밖에서 선언된 변수는 전역 변수로 함수 안에 있는 parameter 에 영향을 줄 수 있음
함수 밖에서도 선언되고, 안에서도 선언된 변수가 있으면, 안에서 선언된 변수가 우선순위를 가짐.