script
태그 사용script
태그의 콘텐츠로 자바스크립트 코드를 작성하는 방법ex)
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
**<script>
console.log("Hello")
</script>**
</head>
.js
로 끝나는 파일ex)
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
**<script src="./js_file/script.js"></script>**
</head>
※ 내부 스크립트와 외부 스크립트를 같이 사용하면 안 된다.
- 외부 스크립트를 사용할 땐 콘텐츠를 비워둬야 한다. (주의!!)
ex) **<script src="./js_file/script.js">console.log("Hello")</script>
→ 안 됨!!**
head
와 body
안에서만 작성해야 함html 다운
→ script 다운
→ script 실행
순으로 진행됨head
태그 안에 사용하는 경우head
태그까지만 html을 다운로드하고 멈춘 다음,script
를 다운 및 실행하기 때문에 script
뒤에 있는 html 인식 못함body
태그 안에 사용하는 경우body
태그 안에서 마지막에 작성하면 html 요소를 모두 인식하여 적용async
속성script
과 html
을 같이 다운하고, script
실행할 때 html
다운 멈춤script
파일 중 먼저 다운이 되는 것이 있다면 실행이 되면서, 뒤에 다운되는 script
가 제대로 작동하지 않을 수도 있다ex)
<script src="./js_file/script.js" async></script>
defer
속성html
과 script
를 동시에 다운하고,html
다운로드가 끝난 후 script
를 작성된 순서대로 실행함ex)
<script src="./js_file/script.js" defer></script>
undefined
이 출력 됨※ “lodast.js" 사이트에서 용량이 큰 자바스크립트 코드 가져올 수 있음
//
한 줄 주석/* */
여러 줄 주석"키워드" "식별자(변수명)" = "값(데이터)"
- 식별자 공간에 값을 집어 넣는 것
var
let
과 const
가 개발됨var
사용 안 함!!ex)
var level = 99;
var level = 200;
console.log(level); // 200 출력
var level = 99;
level = 200;
console.log(level); // 200 출력
let
var
와 기본적인 의미는 동일ex)
let level = 99;
let level = 200;
console.log(level); // 오류!
let level = 99;
level = 200;
console.log(level); // 200 출력 (재할당) → const 등장 이유
const
ex)
const level = 99;
const level = 300;
console.log(level); // 오류! 식별자 중복 사용 불가
const level = 99;
level = 300;
console.log(level); // 오류! 재할당 불가
const level;
level = 300;
console.log(level); // 오류! 선언과 할당의 분리 불가
강제적 규칙
키워드는 사용할 수 없다.문자
" "
또는 작은 따옴표 ' '
로 둘러 쌓여진 값“a”;
‘a’;
ex) const str = “Hello, World“;
ex) const str2 = ‘Sucoding’;
ex) const str3 = “안녕”;
문자열에 큰 따옴표나 작은 따옴표가 포함된 경우, 에러가 발생함
ex) const str = “문자열은 큰따옴표(”)로 감싸면 됩니다.“;
큰(작은) 따옴표가 문자열로 포함되어 있으면, 작은(큰) 따옴표로 시작하면 됨
ex) const str = ’문자열은 큰따옴표(”)로 감싸면 됩니다.‘;
문자열에 큰 따옴표와 작은 따옴표가 모두 포함된 경우
똑같은 문자 앞에 역슬래시()를 넣으면 됨, 익스케이프 문자
ex) const str = “문자열은 큰따옴표(\”)로 감싸면 됩니다.“;
템플릿 문자열
(ES6에서 새롭게 추가된 문자열)ex 1)
const str = `10 + 20 = 30`
ex 2)
const str = `123154654 + 132154549 = ${123154654 + 132154549}`;
// ${} 안의 계산 값도 같이 나오게 됨
ex 3)
const uname = ’sucoding’;
const str = `안녕하세요. ${uname}입니다.`;
console.log(str)
// 안녕하세요. sucoding입니다. 라고 출력됨
문자열 연결 연산자 (+)
const combineStr = “A“ + “B“;
console.log(combineStr);
// AB로 출력됨
숫자 : 일반적인 수 (양수, 0, 음수, 지수, 16진수)
ex) const num1 = 0;
ex) const num2 = 10;
ex) const num3 = -10;
ex) const num4 = 0xff; // 16진수
ex) const num5 = 1.5e3 // 지수
// 출력은 10진수로 나옴
논리형
true
, false
ex) const bool1 = true;
ex) const bool2 = false;
ex) const bool3 = 10 > 0; // true로 결과값이 출력됨
ex) const bool4 = 10 < 0; // false로 결과값이 출력됨
undefined
ex)
const und = undefined;
console.log(und);
// undefined가 출력됨 (문자열 아님 출력값임)
//오류로 판단, 메모리 공간을 차지 안함
null
ex)
const nul = null;
console.log(nul); // 오류가 아님, 메모리 공간을 차지 안함
symbol
(ES6에서 추가됨)ex)
const sym1 = Symbol(“unique key“)
console.log(sym1);
// Symbol(unique key)로 출력, 실무에서 잘 사용 안 함
배열
ex) const arr = []; // 빈 배열
ex) const arr2 = [10]; // 숫자형 배열
ex)
const arr3 = [10, “A“, true, undefined, null];
// 복합형 배열, 맨 앞에서부터 0 ~ 자릿수 index를 가짐
console.log(arr3[0]); // 10 출력
console.log(arr3[1]); // A 출력
console.log(arr3[2]); // true 출력
//모두 대괄호 연산자
ex) const score = [90, 70, 80, 60];
// 각각 국어, 영어, 수학, 과학의 점수를 가지고 있다고 할 때 주석이 없는 한,
// 특정 요소에 대한 식별자가 부족함(이것을 보완하기 위한 것이 객체)
객체
ex) const scoreObj = { 키: 값, 키: 값, 키: 값, 키: 값 };
ex)
const scoreObj = { korea: 90, english: 70, math: 80, science: 60 };
console.log(scoreObj [“korea“]); // 대괄호 연산자
console.log(scoreObj.korea); // 마침표 연산자
// 두 개 모두 90이 출력
함수
- ex) const obj = { 0: “A“, 1: “B“, 2: “C“ };
// 여기서 key가 숫자이지만 문자열로 자동 변경됨
ex)
let a = 10
let b = a
a = 20
console.log(a, b)
// 20, 10 출력
- 값을 복사하는 것이 아니라 값이 있는 위치를 복사하는 것
ex)
const arr1 = [10]
const arr2 = arr1;
arr1.push(20);
console.log(arr1, arr2);
// [10, 20], [10, 20] 출력
ex)
const arr1 = [10];
const arr2 = [...arr1];
// 깊은 복사로 바꿔 줌
arr1.push(20);
console.log(arr1, arr2);
// [10, 20], [10] 출력
기본 자료형과 참조 자료형의 차이를 구분하는데 약간 헷갈리는 부분이 있어서 금방 금방 이해가 되진 않는다.
값이 들어가느냐 값의 위치가 들어가냐의 차이로 구분하고 있지만 어렵다.
설문조사 결과가 나온 것 같은데 실력자들이 꽤 많은 것 같다.
나는 지금도 따라가는게 그닥 쉽지만은 않은데 다들 쉬워서 불만이라니...
나는 천천히 강사님이 알려주시는 것들 다 흡수해서 더 완벽해질거다...흐엉
팀미팅하면서 팀원들도 실력이 대단하다는 걸 많이 느낀다.
같이 공부하면서 좋은 점이 훨씬 더 많지만 자꾸 자존감이 내려가는 느낌적인 느낌..?
(기 죽지 말고 그럴 때마다 독해져서 더 열심히 하자!!)