// 인라인 커멘트: 문서에 다이렉트로 쓰는 것
(/* 뒤집어 반복) 멀티라인 커멘트: 커멘트 할 양이 많을 때 쓰는 것
데이터 타입: undefined, null, boolean, string, symbol, number, object
variable: 컴퓨터가 데이터를 처리하고 저장할 수 있게 한다. 시점에 따라 다른 값을 가질 수 있으므로 컴퓨터 variable은 수학의 변수와 다르다!!
모든 statement에는 세미콜론으로 마무리한다. 변수의 이름은 숫자, 문자, $, _ 이런 것들로 구성되는데 띄어쓰기나 숫자로 시작하는 것은 허용하지 않는다.
var defined;
변수 값은 =로 지정할 수 있다. 항상 오른쪽에서 왼쪽으로 방향이 흐른다는 것을 명심하자. =의 오른쪽 값은 왼쪽 값으로 지정되기 전에 꼭 결의되어야 한다.
아래 예시) 5를 myVar에 지정하고, myVar가 5에 다시 결의되고, 그 값을 myNum에 지정했다.
myVar = 5;
myNum = myVar;
변수에 초기 설정을 하지 않으면 undefined 값을 갖게 된다. 만약 undefined 변수에 수학적 연산을 행하면 NaN의 결과를 얻게 된다. 만약 undefined 변수에 스트링을 연결시키면 "undefined"라는 스트링을 얻게 된다.
var a = 5;
var c = "I am a";
a = a + 1;
c = c + " String!";
자바스크립트에서 모든 변수와 함수의 이름은 case sensitive이므로 강력하게 camelCase로 쓰는 것을 추천한다.
var someVariable;
var anotherVariableName;
var thisVariableNameIsSoLong;
i--, i++는 각각 i=i-1, i=i+1을 뜻한다.
소수(decimal number)도 물론 변수 값으로 설정될 수 있다. 소수는 floating point numbers 혹은 floats로 불리기도 한다.
%: 나눗셈 연산에서 나머지를 찾게 한다.
17 % 2 = 1 (17 is Odd)
48 % 2 = 0 (48 is Even)
+=, -=, *=, /=
myVar = myVar / 5;
myVar /= 5;
스트링에서 탈출시킬 땐 backslash를 쓰면 된다.
var sampleStr = "Alan said, (backslash)"Peter is learning JavaScript(backslash)".";
Alan said, "Peter is learning JavaScript".
자바스크립트에서 '와"는 똑같다. 중요한 것은 스트링의 양 끝에 똑같은 부호를 써야한다는 것이다.
스트링에서 이 두개를 구분해야 하는 이유는 아마도 대화를 집어넣고 싶어서 혹은 a태그 스트링을 나타내기 위해서이다.
goodStr = 'Jake asks Finn, "Hey, let(backlash)'s go on an adventure?"';
badStr = 'Finn responds, "Let's go!"'; // Throws an error
var myStr = 'Link'; // a태그 안의 링크는"로 묶고 a태그로 묶인 스트링은 '로 묶은 결과
escape sequences in strings
스트링 길이: "Alan Peter".length; // 10
var firstName = "Charles"에서 스트링 첫 글자 알아내기: firstName[0]
스트링 세 번째 글자 알아내기: firstName[2]
스트링 마지막 글자 알아내기: firstName[firstName.length - 1]
스트링 바꾸는 유일한 방법은 새로운 스트링으로 배정하는 것이다.
var myStr = "Bob";
myStr[0] = "J"; // this can't change the value of myStr to "Job"
var myStr = "Bob";
myStr = "Job"; // this works
array변수에서는 여러 데이터를 한 장소에 모을 수 있다. 어레이 선언은 []
var sandwich = ["peanut butter", "jelly", "bread"]
var array = [50,60,70]에서 첫 데이터 알아내기: array[0] // equals 50
어레이의 첫 데이터 바꾸기
var array = [50,60,70];
array[0] = 15; // equals [15,60,70]
어레이 수정하는 push, pop, shift, unshift
var arr2 = ["Stimpson", "J", "cat"];
arr2.push(["happy", "joy"]);
// arr2 now equals ["Stimpson", "J", "cat", ["happy", "joy"]]
var threeArr = [1, 4, 6];
var oneDown = threeArr.pop();
console.log(oneDown); // Returns 6
console.log(threeArr); // Returns [1, 4]
var ourArray = ["Stimpson", "J", ["cat"]];
var removedFromOurArray = ourArray.shift();
// removedFromOurArray now equals "Stimpson" and ourArray now equals ["J", ["cat"]].
var ourArray = ["Stimpson", "J", "cat"];
ourArray.shift(); // ourArray now equals ["J", "cat"]
ourArray.unshift("Happy");
// ourArray now equals ["Happy", "J", "cat"]