자바스크립트 기본
QUIZ
1.실행 환경에 독립적이라면? 코어자바스크립트
2. HTML테그 안에 자바스크립트를 사용하려면? <script>~~</script>
3. Javascript를 외부에서 가져오려면? <script src="index.js"></script>
4. Javascript외부 태그 안에 자바스크립트 내용을 쓴다면? 에러가 난다.
6. 세미콜론을 생략해도 되는지? 가능
7. 자바스크립트의 여러줄 주석은? /**/
8. 여러줄 주석을 중첩해서 쓴다면? /*...*/안에 또 다른 /*...*/이 있을 수 없습니다.
9. 자바스크립트를 엄격모드로 바꾸는 방법은? "use strict"를 맨앞에 쓴다.
10. 변수를 생성하는 방법은? let message;
11. 변수 안에 데이터를 저장하는 방법은? message = "hi"
12. 변수명에 $나 _를 사용한다면 특이점은? 없다. 문자와 같음.
13. 변수명 규칙은? 맨앞 숫자 불가,-는 쓸수없음, 대소문자 가림
14. 언제 일반적인 방식으로 상수를 명명하고 언제 대문사를 사용해서 명명해야 하나? 대문자상수는 하드코딩한 값의 별칭을 만들 때 사용한다.
15. 자바스크립트에서 값은 항상 어떤 자료형에 속하나? YES
16. 자바스크립트는 동적타입 언어이다. 의미는? 변수에 저장되는 값의 타입은 얼마든지 변형된다
17. 자바스크립트는 9007199254740991보다 큰 값은 숫자로 나타낼 수 없다. 이거를 쓸려면은? 마지막 숫자에 n을 붙인다
18. null의 의미는? 비어있거나 값을 알수없는 경우이다
19. typeof Math 결과는? 객체.
20. typeof null 결과는? 객체. 그러나 오류이다.
21. prompt창을 써서 age라는 변수에 나이값을 입력을 받아보아랏. let age = prompt("나이는?")
22. 컨펌대화상자를써서 당신이 주인가요?를 만들어보라. let isBoss = confirm("당신이보스?")
23. 나눈셈연산자, 나머지연산자, 거듭제곱 연산자는? /,%,**
24. 4의 1/2제곱근을 쓰시오 4**(2/1)
25. console.log(6+'2') 62
26. alert( '6' / '2' ); 3
27.
alert( +true ); // 1
alert( +"" ); // 0
28. let a = "30"을 숫자데이터로 바꾸려면? console.log(typeof +a), console.log(typeof Number(a))
29. 5++ 결과는? ++는 변수에만 사용할 수 있다. 에러가 남!
30. 결과는? 1 2 4
let counter = 1;
let a = counter++; // (*) ++counter를 counter++로 바꿈
console.log(a);
a = counter++;
console.log(a)
a = ++counter;
console.log(a);
31. null+1은? 1
32. undefined +1은? NaN
33. " \t \n" - 2은? -2
34. console.log('2'>1)은? true
35. alert( 0 == false ); 은? true
36. alert( null === undefined )은? false
37. alert( null == undefined )은? true
38. null과 undefined가 숫자형으로 변환된 것은? 0, NaN
39. 아래 결과는?
alert( null > 0 ); false
alert( null == 0 ); false
alert( null >= 0 ); true
40. 결과는?
alert( undefined > 0 ); false
alert( undefined < 0 ); false
alert( undefined == 0 ); false, undefined는 null하고만 비교할수있음
41. undefined == null true
42. falsy값은 뭐가 있나? 0, "", null, undefined, NaN
43. result = value1 || value2 || value3;의 실행 순서는? 가장 왼쪽에서 오른쪽으로 연산자를 평가함.
44. 실행되는 방식을 설명해라. true를 만나면 연산을 멈추고 해당 피연산자의 변환전 원래 값을 반환하고 모든 값이 false인 경우 마지막 값이 반환됨
45. 결과는? 바이올렛
let firstName = "";
let lastName = "";
let nickName = "바이올렛";
alert( firstName || lastName || nickName || 351321);
ANSWER
1.코어자바스크립트
2. HTML태그에 <script>내용</script> 방법으로 추가한다.
3. <script src="index.js"></script>방법으로 추가한다.
4. 실행안됨. 하지만 각각의 줄로 따로 사용할 수 있다.
6. 줄바꿈이 있다면 세미콜론을 생략해도 된다. 암시적 세미콜론으로 해석하기 때문이다.
7. /* 내용 */
8. 에러가 발생됨. /*...*/안에 또 다른 /*...*/이 있을 수 없습니다.
9. 자바스크립트 최상단에 "use strict"라고 쓴다.
10. let message;
11. message = 11;
12. 특이점이 없다.
13. 첫글짜에 숫자를 쓸 수 없다. -은 변수안에 쓸 수 없다. 대소문자가 구별된다.
14. 코드가 실행되기 전에 이미 그 값을 알고있는 상수도 있고 런타임 과정에서 계산되지만 최초 할당 이후 값이 변하지 않는 상수도 있다. 대문자상수는 하드코딩한 값의 별칭을 만들 때 사용한다. (하드코딩 : 데이터를 코드 내부에 직접 입력하는 것)
15. YES
16. 자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어를 의미함.
17. BigInt로 쓰면 된다. 정수리터럴 끝에 n을 붙이면 만들 수 있다.
const bigInt = 6313213165165465131231315665132131n
18. 비어있거나 값을 알수없는 경우.
19. object. 수학연산을 제공하는 내장객체이기 때문에.
20. object. 하지만 객체가 아닌데도 객체라고 나온다. 자바스크립트의 오류.
21. let age = prompt('나이를 입력해주세요.', '');
22. let isBoss = confirm("당신이 주인인가요?");
23. / , % , **
24. 4 **(1/2)
25. 62
26. 3
27. 1, 0이 나옴.
28. console.log(typeof +a)
29. 에러가 난다. ++연산자는 변수에만 사용할 수 있다.
30. 1 2 4
31. 1(null은 0이 된다.)
32. NaN
33. -2
34. true. '2'가 숫자로 변환된 다음 계산이 된다.
35. true. ==연산자는 0과 false를 구별하지 못함.
36. false
37. true
38. 0, NaN
39. false, false, true. > 이나 >=을 연산하는 경우는 null이 0이 되지만 ==의 경우 null은 false가 되기때문에 연산이 불가하다.
40. false, false, false. undefined는 null을 제외하고 비교 불가.
41. true. null은 오직 undefined와 같습니다
42. 숫자 0, 빈 문자열"", null, undefined, NaN
43. 가장 왼쪽에서 오른쪽으로 연산자를 평가함.
44. true를 만나면 연산을 멈추고 해당 피연산자의 변환전 원래 값을 반환하고 모든 값이 false인 경우 마지막 값이 반환됨
45. 바이올렛. 왼쪽부터 오른쪽까지 true가 나올때까지 진행된다.
질문
let firstName = "";
let lastName = "";
let nickName = "바이올렛";
alert( boolean(firstName || lastName || nickName)); --> 이거는 왜 안나오는지 모르겠다..