Javascript 기본 문법

개발자와 콩나무·2023년 12월 26일

개발공부

목록 보기
2/14

Javascript

출력

파이썬으로 따지면 print(), C로 따지면 printf() 정도 되는 것 같다. 즉각적으로 원하는 것을 출력하여 확인할 수 있는 개발에서의 필수적인 기능이다.

 console.log();  //함수:기능, 동작

//콘솔안에 있는 로그라는 함수(콘솔.로그 : 출력하는 것)
console.log("a-zA-Z가-하"); // double quotation으로 출력
console.log('a-zA-Z가-하'); // single quotation으로 출력
console.log(`a-zA-Z가-하`); // 백틱으로 출력: 위 두 개와 달리 엔터 치면 엔터 포함해서 출력 가능함. (나머지는 X)

//콘솔출력 >> "로그확인", 혹은 "로그찍기"라고 함

변수

var

var num = 123;
  • 변수 이름의 중복을 허용함.
  • 소스코드 로딩단계(파싱단계)에 메모리에 인식되기 때문에 선언되지 않은 변수를 사용하더라도 undefined가 출력될 뿐 오류가 발생하지는 않는다.

let

let num = 123;
  • 변수 이름의 중복을 허용하지 않음.
  • 실행단계(런타임)에 메모리에 인식되기 때문에 선언되지 않은 변수를 사용하면 오류가 발생한다.

const

const user_name = "han";
  • 변수 이름의 중복을 허용하지 않음.
  • 고정적인 변수. 한 번 선언하면 변경 X.
  • 실행단계(런타임)에 메모리에 인식되기 때문에 선언되지 않은 변수를 사용하면 오류가 발생한다.

변수 타입

string : 문자열
number : 정수, 실수 다 그냥 number로 표현됨
undefined : 정의되지 않은 변수형
array : 배열
object : 객체라는 것인데 배열도 여기에 포함됨
NaN : Not a number
boolean : true, false
RegExp : 정규표현식

연산자

//1.논리연산자
// &&, ||
console.log(true & true);//1
console.log(true && true);//true
console.log(true & false);//0
console.log(true && false);//false

console.log(true | true);//1
console.log(true || true);//true
console.log(true || false);//true
console.log(false | false);//0
console.log(false || false);//false
console.log('연산자..6');
//1. 조건연산자 : 연산항이 3개여서 삼항연산자라고도 함.
// 조건연산결과 ? 참리턴값 : 거짓리턴값
console.log(true ? "kim" : "lee");
console.log(false ? "kim" : "lee");
console.log(true == true ? "kim" : "lee");
console.log(true && true ? "kim" : "lee");
console.log("hello" ? "kim" : "lee");
console.log("" ? "kim" : "lee");
console.log(0 ? 111 : 222);

let result = true ? "kim" : "lee";
console.log("result:", result);

let avg = 70;
console.log(avg >= 90 ? "A" : "B");
console.log(avg >= 90 ? "A" : avg >= 80 ? "B" : "C");
  • 논리 연산자, 조건 연산자 외에는 다른 건 다른 언어와 다 똑같은 것 같다.

조건문

if

// 가장 처음 참조건 블럭만 실행
if (avg>=90) {
  console.log("A");
  let test = "kim";
  console.log(test);
} else if (avg>=80) {
  console.log("B");
  let test = "kim2";
  console.log(test);
} else if (avg>=70) {
  console.log("C");
  let test = "kim3";
  console.log(test);
} else {
  console.log("D");
}
var a = 33;

// let 변수 {}에서 사용하기.
// 조건문에 들어가는것:
// boolean(false), "", 0, undefined, null,,,,
// boolean(true), "text", 10, 3.33,,,
if (true) {
  let a = 10; // 지역변수 - 코드블럭에서 유효
  a = 10; // ** let 변수 선언 없이 사용하면 전역 변수 : 주의 **
  console.log("if", a);
  if (true) {
    let a = 99;
    console.log("if~if", a);
  }
}
console.log("script", a);

var b = 44;
if ("kim") {
  var b = 444; //조건문 블럭을 무시한다
  console.log("if", b);
}
console.log("script", b);   //444

switch ~ case

console.log("switch~case");

// 값 매칭으로 분기처리
let name = "kim2";
switch (name) {
  case "kim":
    console.log("Hello1", name);
    break; // 해당 케이스만 실행할 거면 break 넣고 만약에 아래 것까지 다 실행하고 싶다 하면 break 없애면 됨.

  case "kim2":
    console.log("Hello2", name);
    break;

  case "kim3":
    console.log("Hello3", name);
    break;
  default:
    console.log("GoodBye", name);
    break;  // default에서는 생략가능
}

let su = 10;
switch (su) {
  case 1:
    console.log("1~10");
    break;
  case 2:
    console.log("11~20");
    break;
  default:
    break;

}

let avg = 88;
console.log(avg/10);
console.log(parseInt(avg/10));

switch (parseInt(avg/10)) {
  case 9: case 10:
    console.log("A");
    break;
  case 8:
    console.log("B");
    break;
  case 7:
    console.log("C");
    break;
  default:
    console.log("D");
    break;
}

for문

// 횟수, 길이,,, 카운트,, 만큼 반복하고자 할 때 for 사용
//0-9 : 10
for (let i = 0; i < 10; i++) {
  console.log("hello", i);
}

// for (let i = 'a'; i < 'z'; i++) { 이렇게만 출력하면 그냥 a만 나오고 끝남. 알파벳을 정수로 변환하는 기능이 없음.
for (let i = 97; i < 97+26; i++) {
  console.log("hello", i);
  console.log(String.fromCharCode(i));
  console.log(String.fromCharCode(i).toUpperCase());
}

// forEach함수를 이용하는 방법 : for문 없이 배열 요소를 출력해줌.
arr.forEach(function name(item, index) {
  console.log(item, index, arr[index]);
});


for (let i = 0; i < 10; i++) {
  console.log(i);
  if(i==5) {
    break;
  }     //if 문의 블럭을 제외한 가장 가까운 블럭 탈출
}

console.log("===");
for (let i = 0; i < 10; i++) {
  if(i==5) {
    continue;
  }
  console.log(i);
  // 건너뛰고 싶을 때
}

// label을 부여하여 브레이크포인트 지정가능.
first : for (let x = 0; x < 3; x++){
  for (let i = 0;  i < 10; i++){
    console.log(x, i); 
    if(i==5) break first;
  }
  console.log("===");
}

while문

//갯수,길이가 정해져있지않고 무한반복을 전제로할경우.
//while문을 사용하게되며,break문으로 제어가능.
let i = 0;
while (i<10) {
  console.log(i);
  i++;
}

//while문이 참일때만 반복문 실행
while(true){
  x = prompt("종료하시려면 x입력","x");
  console.log("x:",x);
  if(x==='x')break;
}

//조건식이 false라 하도라도 반드시 한번은 do블럭을 실행
do{
  x = prompt("종료하시려면 x입력","x");
  console.log("x:",x);
  if(x==='x')break;
}while(false);

배열

다른 문법과 똑같아서 생략

profile
무럭무럭 자라는 개발자와 콩나무 🌱 콩 한 쪽이라도 기록하자! 개발 실력 향상을 위한 백엔드와 머신러닝, 자격증 공부기록

0개의 댓글