Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 책리뷰
- 자바
- 2023나만의버킷리스트만들기
- 불자료형
- 유령의마음으로
- 항해99
- 혼자공부하는자바스크립트
- 봄날스웨터
- 항해99사전강의
- 스코프 및 화살표 함수
- 함수
- 배열
- 일급객체(함수)
- 혼공자스
- 나머지 매개변수
- 배열의 요소로 함수 할당
- 폴로스타일니트
- 탬플릿문자열
- 조건문
- 랑과나의사막
- 아이디어 #앱아이디어 #건축 #현장관리어플
- 비쥬얼 스튜디오 코드 프로그램 단축키(윈도우)
- 객체
- 숫자자료형
- Visual Studio Code Shortcut for windows
- 자바스크립트
- 스파르타코딩클럽
- 문자자료형
- BomNalSweater
- 자바뽀개기
Archives
- Today
- Total
하고 싶은게 많음
[항해99_JavaScript 문법 종합반] 1주차 (변수와 상수, 데이터타입, 형변환, 연산자, 함수, 스코프 및 화살표 함수) 본문
IT/항해99
[항해99_JavaScript 문법 종합반] 1주차 (변수와 상수, 데이터타입, 형변환, 연산자, 함수, 스코프 및 화살표 함수)
쏘매띵 2023. 9. 25. 17:52
변수와 상수
//변수, 상수
//변수 : 메모리에 저장 -> 읽어서 재사용.
// [변수 5가지 주요 개념]
//변수 이름 : 저장된 값의 고유한 이름
// 변수 값 : 변수에 저장된 값
// 변수 할당: 변수에 값을 저장하는 행위
// 변수 선언: 변수 사용하기 위해 컴퓨터에 알리는 행위
// 변수 참조: 변수에 할당된 값을 읽어오는 것.
//[변수를 선언할 수 있는 3가지 방법 : var, let, const]
// 1. var
var myVar = "Hello1"
var myVar = "Test1"
myVar = "GoodBye1"
// 재선언 O, 재할당 O
// 2. let
let myLet = "Hello2"
// let myLet = "Test2"
myLet = "Goodbye2"
// 재선언X, 재할당O
// 3. const
const myConst = "Hello3"
// const myConst = "Test3"
// myConst = "GoodBye3"
// 재선언X, 재할당X
데이터 타입
//데이터 타입 _ 런타임에 결정됨.
//코드를 작성할 때가 아니라, 실제 코드가 실행될 때 데이터 타입이 결정됨.
//1. 숫자
//1-1. 정수
let num1 = 10;
console.log(num1);
console.log(typeof num1);
//1-2. 실수
let num2 = 3.14;
console.log(num2);
console.log(typeof num2);
//1-3.지수형(Exp)
let num3 = 2.5e5; //2.5 x 10^5
console.log(num3);
console.log(typeof num3);
//1-4. Nan: Not a Number
let num4 = "Hello" / 2;
console.log(num4);
console.log(typeof num4);
//1-5. Infinity (무한대)
let num5 = 1 / 0;
console.log(num5);
console.log(typeof num5);
//1-6. Infinity (무한대)
let num6 = -1 / 0;
console.log(num6);
console.log(typeof num6);
// 2. 문자: string(문자열= 문자의 나열)
// '', ""
let str = "Hello World";
// console.log(str);
// console.log(typeof str);
//2-1. 문자열 길이 확인
console.log(str.length);
//2-2. 문자열 결합하기(concatenation)
let str1 = "Hello, "
let str2 = "World"
let result = str1.concat(str2)
console.log(result);
console.log(str1 + str2);
//2-3. 문자열 자르기
let str3 = "Hello World";
console.log(str3.substring(3,6)); //처음 인덱스 부터 마지막 인덱스까지
console.log(str3.slice(3,6));//처음 인덱스 부터 마지막 인덱스까지
//2-4. 문자열 검색 (해당 문자열이 시작되는 인덱스위치 찾기)
let str4 = "Hello, World";
console.log(str4.search("World"));
//2-5. 문자열 대체
let str5 = "Hello, World";
let result1 = str5.replace("Hello","JavaScript");
console.log(result1);
// 2-6. 문자열 분할 -> 배열 결과 반환
let str6 = "apple, banana, mango";
let result2 = str6.split(",");
console.log(result2);
//불리언(Boolean)
//true, false
let bool1 = true;
let bool2 = false;
console.log(bool1);
console.log(typeof(bool1));
console.log(bool2);
console.log(typeof(bool2));
//undefined : 선언하고 값 할당 안하면 발생
let x;
console.log(x);
//null: 값이 존재하지 않음을 '명시적'으로 나타내는 방법
//null != undefined
let y = null;
console.log(y);
//object(객체) : key-value pair
let person = {
name: 'jeong',
age: 30,
}
console.log(typeof person);
//array(배열) 인덱스
//여러 개의 데이터를 순서대로 저장하는 데이터 타입
let number = [1, 2, 3, 4, 5];
let fruits = ['apple', 'banana', 'applemango'];
형 변화
//형 변환
//형태 -> 바꾼다.
//명시적 형 변환, 임시적 형 변환
//암시적
//1-1. 문자열
let result1 = 1+ "2";
console.log(result1); //12
console.log(typeof result1); //string
let result2 = "1" + true;
console.log(result2); //1true
console.log(typeof result2); //string (string타입이 우선 형 변화.)
//{}, null, undefined + "1" ==> 문자열
//1-2. 숫자
let result3 = 1 - "2";
console.log(result3); //-1
console.log(typeof result3); //number
let result4 = "2" + "3";
console.log(result4); //23
console.log(typeof result4); // string
//2, 명시적 형 변화
//2-1. Boolean
console.log(Boolean(0)); //false
console.log(Boolean("")); //false
console.log(Boolean(null)); //false
console.log(Boolean(undefined)); //false
console.log(Boolean(NaN)); //false
console.log("----------------");
console.log(Boolean("false")); //true
console.log(Boolean({})); //true
//2-2. 문자열
let result5 = String(123);
console.log(typeof result5); //string
console.log(result5); //123
let result6 = String(true);
console.log(typeof result6); //string
console.log(result6); //true
let result7 = String(false);
console.log(typeof result7); //string
console.log(result7); //false
let result8 = String(null);
console.log(typeof result8); //string
console.log(result8); //null
let result9 = String(undefined);
console.log(typeof result9); //string
console.log(result9); //undefined
//1-3. Number
let result10 = Number("123");
console.log(typeof result10); //number
console.log(result10); //123
연산자
+는 문자열이 우선적으로 연산이 되고, -는 숫자가 우선이 연산이 된다.
곱하기의 경우 숫자가 우선되는데 만약 문자열 2를 3개를 곱해서 222를 만들고 싶을 수도 있잖아? 그럴땐 연산자가 아닌 repeat함수를 이용해야한다...
console.log("2".repeat(10));
나머지 연산을 실행할 대 몫만을 반환하는 연산자는 없다. 방법은 세가지..!
1. parseInt( ) : 큰 수의 경우 문자가 들어가는 경우도 있어서 되도록이면 사용하면 안된다고..
console.log(parseInt(7/2));
2. ~ 틸트 연산자 활용 : 10진수 -> 비트로 변경하여 소수점을 버리게된다. 틸트 두번 사용으로 10진수로 변경가능.
3. Math.floor( )
일치 연산자는 꼭 꼭 꼭 3개를 붙여야한다. 2개는 타입까지 체크가 되지않아서 3개보다 덜 타이트 하다...!
//연산자 ( -는 숫자가 우선, +는 문자열이 우선)
//1. 더하기 연산자
console.log(1 + 1); //2
console.log(1 + "1");//11
//2. 빼기 연산자
console.log(1 - "2"); //-1
console.log(1 - 2); //-1
//3. 곱하기 연산자
console.log(2 * 3); //6
console.log("2" * 3); //6
//4. 나누기 연산자
console.log(4 / 2); //2
console.log("4" / 2); //2
//5. 나누기 연산자(/) vs 나머지 연산자(%)
console.log( 5 / 2); //2.5
console.log( 5 % 2); //1
// 6.할당 연산자(assignment)
//6-1. 등호 연산자(=)
let x = 10;
console.log(x); //10
//6-2. 더하기 등호 연산자(+=)
x += 5;
console.log(x); //15
//6-3. 빼기 등호 연산자(-=)
x -= 5;
console.log(x); //10
//6-4. 곱하기 등호 연산자 (*=, /=, %=)
let a = 10;
a *= 2;
console.log(a);
//비교 연산자 -> true, false 반환
//1. 일치 연산자 (===)3개임. 타입까지 일치해야 true반환
//숫자 2가 숫자 2랑 같나?
console.log( 2===2);
console.log( "2" === 2 );
//2. 불일치 연산자(!==)
//타입까지 일치해야 false 반환
//숫자 2가 숫자 2와 다르나?
console.log(2 !== 2);
console.log(2 !== "2");
//3, 작다 연산자(<), 작거나 같다 연산자 (<=)
console.log("-----");
console.log( 2 < 3);
console.log( 2 <= 3);
console.log( 3 <= 3);
console.log( 4 <= 3);
//4. 논리 연산자(&&) (true 와 false
// 4-1. 논리곱 연산자 : 모두 true일 때 true반환
console.log(true&&true); //true
console.log(true&&false); //false
console.log(false&&false); //false
//4-2. 논리합 연산자(||) : 두 값 중 하나라도 true면 true
console.log(true||true); //true
console.log(true||false); //true
console.log(false||false); //false
//4-3.논리 부정 연산자 (!)
console.log(!true);
let a1 = true;
console.log(a1);
//5. 삼항 연산자 ( 조건에 따라 값을 선택(true면 앞, false면 뒤의 값 선택))
let x2 = 10;
let result = (x2>5) ? "크다": "작다";
console.log(result);
//3항 연산자를 이용해서 y가 10보다 작은 경우 작다를 출력
let y = 20;
let result1 = (y<10) ? "작다" : "크다";
console.log(result1);
// 6. 타입연사낮(typeof)
console.log(typeof "s");
함수
//함수 = function(기능)
//input(=매개변수) output(=반환값 return문 뒤에 오는 값)
//기능단위로 묶어 재사용
// 1. 함수 선언문
//두 개의 숫자를 입력받아서 덧셈을 한 후 내보내는 함수
function add(x, y) {
return x+y;
}
// 2. 함수표현식
let add2 = function(x,y) {
return x+y;
}
//함수 호출
//함수() -> add(입력값1, 입력값2)
console.log(add2(1,2));
let functionResult = add(3,4);
console.log(functionResult);
let functionResult2 = add(10,20);
console.log(functionResult2);
스코프, 전역변수, 지역변수
//스코프, 전역변수(global), 지역변수(local)
let x = 10; //전역변수
function printX() {
let x = 20; //지역변수
console.log(x);
}
console.log(x);
printX();
화살표 함수
//화살표 함수
function add (x,y) {
return x+y;
}
//1-1. 기본적인 화살표 함수
let arrowFunc01 = (x, y) => {
return x + y;
}
// 1-2. 한 줄로 가능 (리턴문 생략가능한 경우: {}안의 코드가 한줄이면 가능.)
let arrowFunc02 = (x, y) => x + y;
//example
function testFunc(x) {
return x;
}
// ↓ 화살표 함수로 바꾸기
let arrowFunc03 = x => x;
조건문
//조건문(if, else if, else, switch)
//1.if문
let x = 10;
if ( x > 0 ) {
//main logic
console.log("x는 양수입니다.")
}
//1-2. 문제
//y의 길이가 5보다 크거나 같으면 길이를 console.log로 출력
let y = "Hello World";
if(y.length >= 5){
console.log(y.length);
}
//2. if - else문
let z = -3;
if(z>0) {
console.log("z는 양수")
} else {
console.log("z는 음수 또는 0 입니다.")
}
//3. if - else if - else 문
let x1 = 10;
if (x1 < 0){
console.log("1")
} else if (x1 >= 0 && x1 <10) {
console.log("2")
} else {
console.log("3")
}
//1-4. switch
//변수의 값에 따라 여러 개의 경우(case) 중 하나를 선택
let fruit = "사과2";
switch (fruit) {
case "사과":
console.log("사과입니다.")
break;
case "바나나":
console.log("바나나입니다.")
break;
case "키위":
console.log("키위입니다.")
break;
default:
console.log("아무것도 아닙니다.")
break;
}
'IT > 항해99' 카테고리의 다른 글
[항해99_JavaScript 문법 종합반] 2주차 - 1 (구조 분해 할당, 나머지 매개변수 , 일급객체(함수), 배열의 요소로 함수 할당, Map, Set) (0) | 2023.09.27 |
---|---|
[항해99_JavaScript 문법 종합반] 1주차 - 3 (숙제) (0) | 2023.09.26 |
[항해99_JavaScript 문법 종합반] 1주차 - 2 (조건문, Boolean에서 true와 false로 나오는 값, 객체{ }, 배열[ ], 반복문) (2) | 2023.09.26 |
[항해99_JAVA] 2주차 (0) | 2023.08.11 |
[항해99_JAVA] 1주차 (0) | 2023.08.07 |
Comments