为什么我使用console.log在控制台窗口中打印出一个不在引号中的字符串的值,但是当我在控制台中输出变量时,它会打印引号。这有什么特别的原因吗?
var test = “hello”;
test;
Output : “hello”
Console.log(test);
Output: hello
答案 0 :(得分:0)
好吧,看到这样。
var test = "hello";
test; // This is object in self and what is it,
// it is a string in literal
// Output comes only from debugger , when you input direct.
// test; this line have no output to the console
// Output : "hello" NO
//console.log(test); // console.log already print string (in native/string is output) but also print objects.
// Output: hello YES
console.log( test + " this is the test")
// See output it is a very clear
// hello this is the test

答案 1 :(得分:0)
默认行为是将字符串与控制台中的引号一起表示。
a = 'hi';
a
// returns "hi"
控制台 api不同且异常。
console.log(object [,object,...]) 在控制台中显示消息。将一个或多个对象传递给此方法。评估每个对象并将其连接成以空格分隔的字符串。
因此它返回一个以空格分隔的连接字符串。这意味着它永远是一个字符串。由于它总是一个字符串,我们可以取消引号。我想控制台devs让它成为一种方式来指出console.log()将始终返回相同的类型(字符串)。添加引号可能意味着它可能会返回其他内容,因此它似乎是控制台的UX事物。
答案 2 :(得分:0)
JavaScript是动态类型的,这意味着变量可以随时存储任何类型的值。如果您调用存储字符串的变量(在您的情况下为测试),它将打印出值“ Hello”以指示其字符串并返回字符串数据类型,这很简单。但是数字也可以是字符串,例如var a =“ 5”。另一方面,console.log()只是在变量内部打印值,默认情况下返回undefined。
var a = "hello";
// To check the return type of variable a which is string
console.log(typeof(a));
// To check the return type of console.log() which is undefined
console.log(typeof(console.log(a)));