Skip to content

Commit 62c8f2f

Browse files
committed
fix 3.js -> convert cardNumber to string before sliced, prediction and exp. added
1 parent c056344 commit 62c8f2f

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

  • Sprint-1/2-mandatory-errors

Sprint-1/2-mandatory-errors/3.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,23 @@
11
const cardNumber = 4533787178994213;
2-
const last4Digits = cardNumber.slice(-4);
2+
const last4Digits = cardNumber.toString().slice(-4);
33

44
// The last4Digits variable should store the last 4 digits of cardNumber
55
// However, the code isn't working
66
// Before running the code, make and explain a prediction about why the code won't work
77
// Then run the code and see what error it gives.
88
// Consider: Why does it give this error? Is this what I predicted? If not, what's different?
99
// Then try updating the expression last4Digits is assigned to, in order to get the correct value
10+
11+
// Prediction: I think the code won't work because cardNumber is a number and the
12+
// slice method is for strings. So, it will give an error that slice is not a function.
13+
14+
// Error: TypeError: cardNumber.slice is not a function
15+
// It was what I predicted. This is because it occurs because cardNumber is a number,
16+
// and numbers do not have the slice method. To fix this, we can convert cardNumber
17+
// to a string before using the slice method.
18+
19+
// Fix: I converted cardNumber to a string using the toString() method, and then
20+
// I used the slice method to get the last 4 digits. The updated code is above.
21+
22+
console.log(last4Digits);
23+

0 commit comments

Comments
 (0)