[TIL #12]

이상현·2024년 8월 13일

[ TIL ]

목록 보기
12/38

Node.js 공부

javascript 변수 사용법

내가 사용하던 언어와는 다르게 javascript에서는 변수를 var, let, const 이렇게 사용한다. 이 세가지 차이점에 대해서 궁금하여 공부하엿다.

1. 변수 선언

var 이름; // 재선언 가능
let 나이; // 재선언 불가능
const 성별; // 재선언 불가능
  • var 키워드는 변수명을 재사용 가능하다.
  • let, const 키워드는 변수명 재선언이 불가능 하다.
    • 변수 이름을 중복해서 만드는 실수를 방지해 준다.

2. 변수 재할당

var 이름; // var키워드를 이용해 이름이라는 변수명을 가진 변수를 선언한다.
이름 = 'Lee' // 이름이라는 변수에 'Lee'라는 값을 넣는다 
  • 만들어 놓은 변수에 값을 넣는 것을 할당이라고 한다.

선언과 동시에 할당 또한 가능하다.

var 이름 = 'Kim';
  • 변수를 var, let 키워드로 선언한다면 재할당이 가능하다.
  • const로 만들면 값 재할당이 불가능하다.
let 이름 ='Lee';
이름 = 'Choi';    // 가능
var 나이 = 30;
나이 = 24; 	     // 가능
const 성별 = 'male';
성별 = 'female';  // 에러
  • const에는 절대 변할 일이 없는 값에 선언해주는 것이 좋겠다.
    • Object 내에서는 가능하다
      const 오브젝트 = { 이름 : 'Kim' }
       오브젝트.이름 = 'Park'; // 가능 

3. 변수의 범위

  • 변수에는 존재범위가 존재한다.
    • var 변수는 존재범위가 function이다.
    • let, const 변수는 존재범위가 거의 모든 {중괄호} 이다.
      ex) for, if, function 등등
function 함수(){
  var 이름 = 'Lee';
  console.log(이름); //가능
}

console.log(이름); //에러

이처럼 var 변수는 function(함수) 밖에서 호출 하면 에러가 발생한다...

if ( 1 == 1 ){
  let 이름 = 'Lee';
  console.log(이름); //가능
}

console.log(이름); //에러

위의 예제처럼 let 변수는 {} 중괄호 내에서 만들면 중괄호 내에서만 쓸 수 있다.

여러가지 몰랐던 점

1. 데이터 타입

  • 다른 언어들은 변수 선언 단계에서 데이터 타입을 결정하는 반면 javascript는 runtime에 데이터 타입이 결정되는 것이 특징이다.
let num2 = 3.14;
console.log(num2); // number

let num4 = "Hello" /2;
console.log(num4); // Nan : Not a Number

let num5 = "Hello"
console.log(num5); // string

2. 문자열

2.1 문자열 결합하기(concatenation)
let str1 = "Hello, ";
let str2 = "world!";
let result = str1.concat(str2);
console.log(result); // 결과 : Hello, world!
  • concat이라는 명령어를 사용하여 두 문자열을 합쳐줄 수 있다.
    - 형태 : 앞문자열.concat(뒷문자열);

2.2 문자열 자르기
let str3 = "Hello, World!";
console.log(str3.substr(7, 5)); // 시작위치부터 몇개 자를건지
console.log(str3.slice(7,11)); // 시작위치부터 끝 위치 까지
  • substr은 7부터 5개를 잘라내 World가 출력된다.
  • slice는 7부터 11까지 잘라내어 Worl가 출력된다.

2.3 문자열 검색
let str4 = "Hello, World!";
console.log(str4.search("World")); // World가 시작되는 지점을 찾음, 
								  // 7번째 부터 시작
  • search 찾고싶은 문자열의 시작지점을 찾아준다.
    • 결과 : 7

2.4 문자열 대체
let str5 = "Hello, World!";
let result01 = str5.replace("World", "Javscript");
console.log(result01);
  • replace는 앞 문자열을 뒷 문자열로 변경시켜 준다.
    • 결과 : Hello, Javscript!

2.5 문자열 분할
let str6 = "apple, banana, kiwi";
let result02 = str6.split(","); //배열의 형태로 , 기준으로 나눠 들어가게됨
console.log(result02);
  • split은 기준이 되는 문자로 문자열을 나누어 배열의 형태로 저장한다.
    • 결과 : ['apple', 'banana', 'kiwi']

3. 삼항 연산자

let x = 10;
let result = (x > 5) ? "크다" : "작다";
console.log(result);   // "크다"
  • 삼항 연산자는 조건이 true이면 앞에 결과를, false일 시 뒤에 결과를 저장한다.
    • 결과 : 크다.

4. 배열

4.1 push 
let fruits =["사과", "바나나"];
fruits.push("오렌지");
  • push는 배열 맨 뒷 부분에 추가한다.
    • 결과 : [ '사과', '바나나', '오렌지' ]

4.2 pop
let fruits = ["사과", "바나나"];
fruits.pop();
  • pop은 배열 맨 뒷 부분을 삭제 시킨다.
    • 결과 : [ '사과' ]

4.3 shift 
let fruits = ["사과", "바나나", "키위"];
fruits.shift();
  • shift는 배열 가장 앞 부분을 삭제 시킨다.
    • 결과 : [ '바나나', '키위' ]

4.4 unshift
let fruits = ["사과", "바나나", "키위"];
fruits.unshift();
  • unshift는 배열 가장 앞 부분에 추가 시킨다.
    • 결과 : ["포도", "사과", "바나나", "키위"]
profile
Node.js_6기

0개의 댓글