728x90

👉 기본 환경

- Language: JavaScript

- IDE: VS Code

 

 

⌨️ 코드

1
2
alert123456.toString(36) );
 
 

 

 

🖨️오류

1
2
An identifier or keyword cannot immediately follow a numeric literal.
 
 

 

 

📡 원인

JavaScript에서 숫자 리터럴 다음에는 식별자나 키워드가 나타나서는 안됨

    - JavaScript 파서가 숫자 리터럴과 그 다음에 오는 괄호 (를 잘못 해석

    -  JavaScript가 숫자 리터럴 다음에 바로 메소드를 호출하는 것을 이해하지 못하기 때문에 발생

 

 

📰 해결 방법

1
2
alert((123456).toString(36));
 
 

* 숫자 리터럴을 괄호로 감싸기

 

1
2
3
var num = 123456;
alert(num.toString(36));
 
 

* 변수에 할당한 후에 메소드를 호출

 

 

 

📚 참고 자료

 

숫자형

 

ko.javascript.info

 

728x90
728x90

👉 기본 환경

- Language: JavaScript

- IDE: VS Code

 

 

⌨️ 코드

1
2
3
4
5
let str = "Hello";
str.test = 5;
 
alert(str.test);
 
 

 

 

🖨️오류

1
2
TypeError: Cannot create property 'test' on string 'Hello'
 
 

 

 

📡 원인

* 엄격 모드

    - 래퍼 객체를 수정 시, 에러가 발생

* 비엄격 모드

    - 래퍼 객체에 properties 'test' 추가 → 래퍼 객체 삭제 → properties 'test'를 찾을 수 없음

 

🚨 원시값은 추가 데이터를 저장할 수 없음

 

 

📰 해결 방법

1
2
3
4
5
let str = new String("Hello"); // 문자열을 객체로 변환
str.test = 5;
 
alert(str.test);
 
 

String을 객체로 변환

 

⭐ 생성자를 통해 원하는 타입의 "래퍼 객체"를 직접 만들 수 있으나, 문자열은 일반적으로 기본 데이터 타입 권장

 

cf. String("Hello")

    - 인 수를 원하는 형의 원시값(문자열, 숫자, 불린 값)으로 바꿔주는 역할

 

 

 

📚 참고 자료

 

원시값의 메서드

 

ko.javascript.info

 

728x90
728x90

🟨 기본 환경: IDE: VS code, Language: JavaScript

 

 

발생 Error

JavaScript에서 다음 Source Code를 실행할 경우,

1
2
 props.forEach(console.log(props.movieImg.length));
 
 
 

🚨 다음과 같은 Error 발생

props.forEach is not a function
TypeError: props.forEach is not a function

 

 

발생 원인

forEach()의 매개변수를 함수가 아닌 배열의 개별 인자를 전달

 

 

해결 방법

콜백 함수를 사용하여 배열의 각 요소를 반복 처리

1
2
3
4
  props.forEach((data) => {
    console.log(data.movieImg.length);
  });
 
 
 

* callback 함수: 다른 함수에게 전달되는 함수

: 나중에 호출되며, 일반적으로 다른 함수의 동작을 지정하거나 완료된 후에 실행되는 코드를 정의하는 데 사용

 

728x90
728x90

🟨 기본 환경: IDE: VS code, Language: JavaScript

 

 

발생 Error

CMD에서 node productSlice.js로 다음 Source Code를 실행할 경우,

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
const { createSlice } = require('@reduxjs/toolkit');
// createSlice: reducer 생성, 매개변수-객체
 
let initialState = {
    productList: [],
    selectedItem: null,
};
 
// name: unique한 action name을 만드는데 쓰이는 prefix
// initialState: reducer state
// reducers: state, action을 매개변수로 받는 함수 생성
const productSlice = createSlice({
    name'product',
    initialState,
    reducers: {
        getAllProduct(state, action) {
            state.productList= action.payload.data
            // initialState의 productList을 action의 payload.data로 변경
        },
        getSingleProduct(state, action) {
            state.selectedItem = action.payload.data
        },
    }
});
 
console.log('ppp', productSlice);
 
export default productSlice.reducer;
// productSlice: reducers가 담긴 reducer 반환
 
 
 

🚨 다음과 같은 Error 발생

Error: Cannot find module 'C:\Users\user\Desktop\REACT\redux\productReducer.js'

 

 

발생 원인

*.js 파일이 존재하는 올바른 위치가 아닌 곳에서 파일을 실행시키고자 함

 

 

해결 방법

*.js 파일이 존재하는 위치로 이동 후 node 파일명.js 후 실행

 

728x90
728x90

🟨 기본 환경: IDE: VS code, Language: JavaScript

 

 

발생 Error

CMD에서 node productSlice.js로 다음 Source Code를 실행할 경우,

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
import {createSlice} from '@reduxjs/toolkit';
// createSlice: reducer 생성, 매개변수-객체
 
let initialState = {
    productList: [],
    selectedItem: null,
};
 
// name: unique한 action name을 만드는데 쓰이는 prefix
// initialState: reducer state
// reducers: state, action을 매개변수로 받는 함수 생성
const productSlice = createSlice({
    name'product',
    initialState,
    reducers: {
        getAllProduct(state, action) {
            state.productList= action.payload.data
            // initialState의 productList을 action의 payload.data로 변경
        },
        getSingleProduct(state, action) {
            state.selectedItem = action.payload.data
        },
    }
});
 
console.log('ppp', productSlice);
 
export default productSlice.reducer;
// productSlice: reducers가 담긴 reducer 반환
 
 
 

🚨 다음과 같은 Error 발생

SyntaxError: Cannot use import statement outside a module

 

 

발생 원인

Node.js에서 파일에서 import 문을 사용하려고 했을 때 발생

 

 

해결 방법

Node.js에서는 import 대신 require 문을 사용하여 모듈을 가져와야 함

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
const { createSlice } = require('@reduxjs/toolkit');
// createSlice: reducer 생성, 매개변수-객체
 
let initialState = {
    productList: [],
    selectedItem: null,
};
 
// name: unique한 action name을 만드는데 쓰이는 prefix
// initialState: reducer state
// reducers: state, action을 매개변수로 받는 함수 생성
const productSlice = createSlice({
    name'product',
    initialState,
    reducers: {
        getAllProduct(state, action) {
            state.productList= action.payload.data
            // initialState의 productList을 action의 payload.data로 변경
        },
        getSingleProduct(state, action) {
            state.selectedItem = action.payload.data
        },
    }
});
 
console.log('ppp', productSlice);
 
export default productSlice.reducer;
// productSlice: reducers가 담긴 reducer 반환
 
 
 

 

728x90