자바스크립트 스터디 시작~!
자바 언어라고 하면
String name;
char c;
int number;
boolean b;
...
과 같이 데이터 타입을 선언해줘서 각자 데이터 타입의 맞게 만들어줬어야 했다.
하지만 자바스크립트는 달랐다.
//int형
const age = 20;
//String형
const name = "조현상";
//배열
const Array = [1,2,3];
..
데이터 타입의 상관 없이 const 와 let 으로 선언할 수 있었다.
const와 let의 차이는
const name = "조현상";
name = "현상"; //error
const로 선언하면 선언 이후 저장된 값을 바꿔줄 수 없다.
우리는 이것을 상수라고 부르기로 했다.
하지만 let은
let age = 20;
age = 21;
age = 22;
age = 23;
선언 이후에도 데이터의 저장 값을 바꿔줄 수 있다.
추가적으로
let b1 = true;
let b2 = false;
자바스크립트에도 boolean 타입이 있는데 boolean 타입은 true와 false 두 개 밖에 없으며 boolean 타입을 만들려면 선언할 때 true 와 false로 정의해주면 된다.
여기서 흥미로운 부분은 배열이다.
int arr[5] = {1,2,3,4,5}; //{1,2,3,4,"end"} error
기존 배열이라고 하면 배열의 데이터 타입을 선언하고 만든 배열 안에 다른 데이터 타입이 있으면 오류가 발생하는데 자바스크립트의 배열은 달랐다.
const arr = [1,2,"end"];
const arr2 = {
arr2 : [1,2,3],
name : {age : 20}
};
서로 다른 데이터 타입을 배열 안에 저장할 수 있었고 배열과 딕셔너리 형태를 자유롭게 쓸 수 있었다.
딕셔너리 형태의 배열을 불러오려면 다음과 같이 하면 된다.
console.log(arr.name);
//or
console.log(arr[name]);
자바스크립트 만의 특별한 배열 문법이 있는데 그것은 spread 문법이다.
const Array = [1,2,"age"];
console.log(...Array);
... <- spread 문법을 사용하면 [] 배열을 벗길 수 있어서 1 , 2 , age 가 출력이 된다.
만약 두 개의 배열을 합치고 싶다면
const number1 = [1,2,3];
const nuber2 = [4,5,6];
const new_number = [...number1 , ...number2];
과 같이 만들어주면 new_number 이 [1,2,3,4,5,6] 을 갖는 새로운 배열이 만들어질 것이다.
자바스크립트는 문자열을 출력해줄 때도 다른 언어들과 다른 특징들을 보여준다.
const age = 23;
const job = "대학생";
//1번
const msg = "저는 "+ job + "이고 " + age + "살 입니다.";
//2번
const javascript_msg = `저는 ${job}이고 ${age}살 입니다.`;
기존 자바 언어는 1번과 같이 문자열을 출력할텐데 자바스크립트는 ``를 사용하여 문자열 안에 ${변수}로 변수의 저장된 값을 넣어주는 편리한 방법이 있다.
그 다음은 null 과 undefined 인데
null 은 값이 없다는 뜻이고 undefined는 변수 안에 아직 값을 선언해주지 않아서 값이 존재하지 않을 때 출력이 된다.
이를 이용해서 널리쉬 연산자가 있는데
const a = undefined;
const b = null;
const c = "값";
console.log(a ?? b ?? c); // 값 출력
a 에서부터 b , c 순으로 컴퓨터가 읽으며, 데이터 값이 없으면 패스하고 있으면 그 데이터 값을 가지고 온다.
마지막으로 자바에서 자주 쓰이는 문법 중 삼항 연산자가 있다.
console.log( 2 < 3 ? "참" : "거짓");
(조건)? 조건이 참 : 조건이 거짓 으로
2<3 은 참이기 때문에 "참"이 출력되는 것을 볼 수 있다.
'WINK-(Web & App) > HTML & CSS & JS 스터디' 카테고리의 다른 글
[2023 신입부원 기초 스터디] 김승혁 #1주자 - HTML이란 (0) | 2023.04.05 |
---|---|
[2023 신입부원 심화 스터디] 박지민 #1주차 - 기초문법 part. 1 (0) | 2023.04.05 |
[2023 신입부원 심화 스터디] 김윤희 #1주차 - 기초문법 part.1 (0) | 2023.04.05 |
[2023 신입부원 심화 스터디] 신진욱 #1주차 - 기초문법 part.1 (0) | 2023.04.05 |
[2023 신입부원 심화 스터디] 이정욱 #1주차 - 기초 문법 Part.1 (2) | 2023.04.05 |